Grab Alt+Shift+Button1 as well to partially fix operation ordering issues

2006-07-24  Björn Lindqvist  <bjourne@gmail.com>

	* src/display.c (meta_display_grab_window_buttons): Grab
	Alt+Shift+Button1 as well to partially fix operation ordering
	issues when trying to snap-move windows.  Part of #112478.
This commit is contained in:
Björn Lindqvist 2006-07-24 17:15:32 +00:00 committed by Elijah Newren
parent 34662a6a3a
commit 3d661f9bc7
2 changed files with 24 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2006-07-24 Björn Lindqvist <bjourne@gmail.com>
* display.c (meta_display_grab_window_buttons): Grab
Alt+Shift+Button1 as well to partially fix operation ordering
issues when trying to snap-move windows. Part of #112478.
2006-07-21 Thomas Thurman <thomas@thurman.org.uk> 2006-07-21 Thomas Thurman <thomas@thurman.org.uk>
* ui.[ch] (filter_func): Avoid a case where a struct's * ui.[ch] (filter_func): Avoid a case where a struct's

View File

@ -3711,8 +3711,10 @@ void
meta_display_grab_window_buttons (MetaDisplay *display, meta_display_grab_window_buttons (MetaDisplay *display,
Window xwindow) Window xwindow)
{ {
/* Grab Alt + button1 and Alt + button2 for moving window, /* Grab Alt + button1 for moving window.
* and Alt + button3 for popping up window menu. * Grab Alt + button2 for resizing window.
* Grab Alt + button3 for popping up window menu.
* Grab Alt + Shift + button1 for snap-moving window.
*/ */
meta_verbose ("Grabbing window buttons for 0x%lx\n", xwindow); meta_verbose ("Grabbing window buttons for 0x%lx\n", xwindow);
@ -3724,11 +3726,10 @@ meta_display_grab_window_buttons (MetaDisplay *display,
if (display->window_grab_modifiers != 0) if (display->window_grab_modifiers != 0)
{ {
gboolean debug = g_getenv ("METACITY_DEBUG_BUTTON_GRABS") != NULL; gboolean debug = g_getenv ("METACITY_DEBUG_BUTTON_GRABS") != NULL;
int i = 1; int i;
while (i < 4) for (i = 1; i < 4; i++)
{ {
meta_change_button_grab (display, meta_change_button_grab (display, xwindow,
xwindow,
TRUE, TRUE,
FALSE, FALSE,
i, display->window_grab_modifiers); i, display->window_grab_modifiers);
@ -3741,9 +3742,18 @@ meta_display_grab_window_buttons (MetaDisplay *display,
TRUE, TRUE,
FALSE, FALSE,
i, ControlMask); i, ControlMask);
++i;
} }
/* In addition to grabbing Alt+Button1 for moving the window,
* grab Alt+Shift+Button1 for snap-moving the window. See bug
* 112478. Unfortunately, this doesn't work with
* Shift+Alt+Button1 for some reason; so at least part of the
* order still matters, which sucks (please FIXME).
*/
meta_change_button_grab (display, xwindow,
TRUE,
FALSE,
1, display->window_grab_modifiers | ShiftMask);
} }
} }