diff options
author | Florian Müllner <fmuellner@gnome.org> | 2011-12-12 20:04:20 +0100 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2012-04-17 23:53:36 +0200 |
commit | 8809673a7456da060f47d4d7a2ab2272d3b5bc57 (patch) | |
tree | 6d3c0917830a0d488a36ff21c9e5a00293bdbe0c | |
parent | 68321d9bf4567e075bf23b2f10425f06f5cf2a34 (diff) | |
download | mutter-8809673a7456da060f47d4d7a2ab2272d3b5bc57.tar.gz |
display: Cancel overlay key presses on mouse button events
Currently pressing the overlay key only triggers the overview if
no other key is pressed between KeyPress and KeyRelease. Extend
this logic to pointer events, so that KeyPress + ButtonPress actions
are treated explicitly different from "pure" overlay key presses.
In particular, this change allows to re-use the overlay key as mouse
button modifier.
https://bugzilla.gnome.org/show_bug.cgi?id=662476
-rw-r--r-- | src/core/display.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/display.c b/src/core/display.c index 8f1fe3cc0..676cd566f 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -1799,6 +1799,8 @@ event_callback (XEvent *event, if (display->grab_op == META_GRAB_OP_COMPOSITOR) break; + display->overlay_key_only_pressed = FALSE; + if (event->xbutton.button == 4 || event->xbutton.button == 5) /* Scrollwheel event, do nothing and deliver event to compositor below */ break; @@ -1996,6 +1998,8 @@ event_callback (XEvent *event, if (display->grab_op == META_GRAB_OP_COMPOSITOR) break; + display->overlay_key_only_pressed = FALSE; + if (display->grab_window == window && grab_op_is_mouse (display->grab_op)) meta_window_handle_mouse_grab_op_event (window, event); |