aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--swaybar/input.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/swaybar/input.c b/swaybar/input.c
index c8c8f0d4..f12eed79 100644
--- a/swaybar/input.c
+++ b/swaybar/input.c
@@ -166,14 +166,13 @@ static void wl_pointer_button(void *data, struct wl_pointer *wl_pointer,
return;
}
- if (check_bindings(seat->bar, button, state)) {
- return;
+ if (state == WL_POINTER_BUTTON_STATE_PRESSED) {
+ if (process_hotspots(output, pointer->x, pointer->y, button)) {
+ return;
+ }
}
- if (state != WL_POINTER_BUTTON_STATE_PRESSED) {
- return;
- }
- process_hotspots(output, pointer->x, pointer->y, button);
+ check_bindings(seat->bar, button, state);
}
static void workspace_next(struct swaybar *bar, struct swaybar_output *output,
@@ -222,15 +221,14 @@ static void workspace_next(struct swaybar *bar, struct swaybar_output *output,
static void process_discrete_scroll(struct swaybar_seat *seat,
struct swaybar_output *output, struct swaybar_pointer *pointer,
uint32_t axis, wl_fixed_t value) {
- // If there is a button press binding, execute it, skip default behavior,
- // and check button release bindings
uint32_t button = wl_axis_to_button(axis, value);
- if (check_bindings(seat->bar, button, WL_POINTER_BUTTON_STATE_PRESSED)) {
- check_bindings(seat->bar, button, WL_POINTER_BUTTON_STATE_RELEASED);
+ if (process_hotspots(output, pointer->x, pointer->y, button)) {
return;
}
- if (process_hotspots(output, pointer->x, pointer->y, button)) {
+ // If there is a button press binding, execute it, and check button release bindings
+ if (check_bindings(seat->bar, button, WL_POINTER_BUTTON_STATE_PRESSED)) {
+ check_bindings(seat->bar, button, WL_POINTER_BUTTON_STATE_RELEASED);
return;
}