sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 1893515d3a0389bf9c2289b1ae34b3add10225c6
parent 2dceae6224f38a706182394dc77ebd11afb22531
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date:   Fri, 10 Aug 2018 23:43:31 +1000

Fix right-click/popups and add state checks

Diffstat:
Msway/input/cursor.c | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/sway/input/cursor.c b/sway/input/cursor.c @@ -657,7 +657,8 @@ void dispatch_cursor_button(struct sway_cursor *cursor, } // Handle tiling resize via border - if (resize_edge && button == BTN_LEFT && !is_floating) { + if (resize_edge && button == BTN_LEFT && state == WLR_BUTTON_PRESSED && + !is_floating) { seat_set_focus(seat, cont); seat_begin_resize_tiling(seat, cont, button, edge); return; @@ -666,7 +667,7 @@ void dispatch_cursor_button(struct sway_cursor *cursor, // Handle tiling resize via mod bool mod_pressed = keyboard && (wlr_keyboard_get_modifiers(keyboard) & config->floating_mod); - if (!is_floating) { + if (!is_floating && mod_pressed && state == WLR_BUTTON_PRESSED) { uint32_t btn_resize = config->floating_mod_inverse ? BTN_LEFT : BTN_RIGHT; if (button == btn_resize) { @@ -682,7 +683,8 @@ void dispatch_cursor_button(struct sway_cursor *cursor, } // Handle beginning floating move - if (is_floating_or_child && !is_fullscreen_or_child) { + if (is_floating_or_child && !is_fullscreen_or_child && + state == WLR_BUTTON_PRESSED) { uint32_t btn_move = config->floating_mod_inverse ? BTN_RIGHT : BTN_LEFT; if (button == btn_move && state == WLR_BUTTON_PRESSED && (mod_pressed || on_titlebar)) {