From 80858c1f5784c65548c96b8f4d4bd02e90f7dd88 Mon Sep 17 00:00:00 2001 From: "D.B" Date: Sat, 23 Jul 2016 16:30:04 +0200 Subject: [PATCH] don't passthrough a floating_scroll event to focused window --- sway/handlers.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sway/handlers.c b/sway/handlers.c index abed8cd7a..05da57008 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -876,15 +876,21 @@ bool handle_pointer_scroll(wlc_handle view, uint32_t time, const struct wlc_modi if (!(modifiers->mods ^ config->floating_mod)) { int x_amount = (int)_amount[0]; int y_amount = (int)_amount[1]; - if (x_amount > 0) { + + if (x_amount > 0 && strcmp(config->floating_scroll_up_cmd, "")) { handle_command(config->floating_scroll_up_cmd); - } else if (x_amount < 0) { + return EVENT_HANDLED; + } else if (x_amount < 0 && strcmp(config->floating_scroll_down_cmd, "")) { handle_command(config->floating_scroll_down_cmd); + return EVENT_HANDLED; } - if (y_amount > 0) { + + if (y_amount > 0 && strcmp(config->floating_scroll_right_cmd, "")) { handle_command(config->floating_scroll_right_cmd); - } else if (y_amount < 0) { + return EVENT_HANDLED; + } else if (y_amount < 0 && strcmp(config->floating_scroll_left_cmd, "")) { handle_command(config->floating_scroll_left_cmd); + return EVENT_HANDLED; } } return EVENT_PASSTHROUGH;