aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dwl.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/dwl.c b/dwl.c
index 69c124d..af53435 100644
--- a/dwl.c
+++ b/dwl.c
@@ -237,29 +237,28 @@ buttonpress(struct wl_listener *listener, void *data)
/* Notify the client with pointer focus that a button press has occurred */
wlr_seat_pointer_notify_button(seat,
event->time_msec, event->button, event->state);
- double sx, sy;
- struct wlr_surface *surface;
- Client *c = xytoclient(cursor->x, cursor->y, &surface, &sx, &sy);
if (event->state == WLR_BUTTON_RELEASED) {
/* If you released any buttons, we exit interactive move/resize mode. */
cursor_mode = CurNormal;
- } else {
- /* Change focus if the button was _pressed_ over a client */
- if (c) {
- focus(c, surface);
- raiseclient(c);
- }
+ return;
+ }
- struct wlr_keyboard *keyboard = wlr_seat_get_keyboard(seat);
- uint32_t mods = wlr_keyboard_get_modifiers(keyboard);
- for (int i = 0; i < LENGTH(buttons); i++) {
- if (event->button == buttons[i].button &&
- CLEANMASK(mods) == CLEANMASK(buttons[i].mod) &&
- buttons[i].func) {
- buttons[i].func(&buttons[i].arg);
- }
- }
+ /* Change focus if the button was _pressed_ over a client */
+ double sx, sy;
+ struct wlr_surface *surface;
+ Client *c = xytoclient(cursor->x, cursor->y, &surface, &sx, &sy);
+ if (c) {
+ focus(c, surface);
+ raiseclient(c);
}
+
+ struct wlr_keyboard *keyboard = wlr_seat_get_keyboard(seat);
+ uint32_t mods = wlr_keyboard_get_modifiers(keyboard);
+ for (int i = 0; i < LENGTH(buttons); i++)
+ if (event->button == buttons[i].button &&
+ CLEANMASK(mods) == CLEANMASK(buttons[i].mod) &&
+ buttons[i].func)
+ buttons[i].func(&buttons[i].arg);
}
void