From fa400c5d3d1a118389da8d3bfbda7c04f81e5f9f Mon Sep 17 00:00:00 2001 From: save196 Date: Sun, 20 Sep 2026 22:04:38 +0000 Subject: [PATCH] don't run axis bindings when locked --- dwl.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/dwl.c b/dwl.c index 4cfd0fd..12f8c8f 100644 --- a/dwl.c +++ b/dwl.c @@ -663,16 +663,18 @@ axisnotify(struct wl_listener *listener, void *data) wlr_idle_notifier_v1_notify_activity(idle_notifier, seat); - if (event->orientation == WL_POINTER_AXIS_VERTICAL_SCROLL) - adir = event->delta > 0 ? AxisDown : AxisUp; - else - adir = event->delta > 0 ? AxisRight : AxisLeft; - keyboard = wlr_seat_get_keyboard(seat); - mods = keyboard ? wlr_keyboard_get_modifiers(keyboard) : 0; - for (a = axes; a < END(axes); a++) { - if (CLEANMASK(mods) == CLEANMASK(a->mod) && adir == a->dir && a->func) { - a->func(&a->arg); - return; + if (!locked) { + if (event->orientation == WL_POINTER_AXIS_VERTICAL_SCROLL) + adir = event->delta > 0 ? AxisDown : AxisUp; + else + adir = event->delta > 0 ? AxisRight : AxisLeft; + keyboard = wlr_seat_get_keyboard(seat); + mods = keyboard ? wlr_keyboard_get_modifiers(keyboard) : 0; + for (a = axes; a < END(axes); a++) { + if (CLEANMASK(mods) == CLEANMASK(a->mod) && adir == a->dir && a->func) { + a->func(&a->arg); + return; + } } }