diff options
Diffstat (limited to 'Allow-breaking-out-from-maximization-during-mouse.patch')
-rw-r--r-- | Allow-breaking-out-from-maximization-during-mouse.patch | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/Allow-breaking-out-from-maximization-during-mouse.patch b/Allow-breaking-out-from-maximization-during-mouse.patch index 15005b6..286c873 100644 --- a/Allow-breaking-out-from-maximization-during-mouse.patch +++ b/Allow-breaking-out-from-maximization-during-mouse.patch @@ -1,7 +1,8 @@ -From 339710e884cfbab810382a63fafb3cdab8ee51e9 Mon Sep 17 00:00:00 2001 -From: Owen W. Taylor <otaylor@fishsoup.net> +From 00d291927a59b6bca164fc5cd2d4729604b40d1c Mon Sep 17 00:00:00 2001 +From: "Owen W. Taylor" <otaylor@fishsoup.net> Date: Wed, 23 Jun 2010 15:08:38 -0400 -Subject: [PATCH] Allow breaking out from maximization during a mouse resize +Subject: [PATCH] Allow breaking out from maximization during a mouse + resize A maximized window can't be resized from the screen edges (preserves Fitts law goodness for the application), but it's still possible @@ -40,10 +41,10 @@ https://bugzilla.gnome.org/show_bug.cgi?id=622517 4 files changed, 228 insertions(+), 24 deletions(-) diff --git a/src/core/display-private.h b/src/core/display-private.h -index 19287f3..a19d1d8 100644 +index 7f779fd..bb6ba8a 100644 --- a/src/core/display-private.h +++ b/src/core/display-private.h -@@ -170,6 +170,9 @@ struct _MetaDisplay +@@ -178,6 +178,9 @@ struct _MetaDisplay guint grab_wireframe_active : 1; guint grab_was_cancelled : 1; /* Only used in wireframe mode */ guint grab_frame_action : 1; @@ -54,10 +55,10 @@ index 19287f3..a19d1d8 100644 MetaRectangle grab_wireframe_last_xor_rect; MetaRectangle grab_initial_window_pos; diff --git a/src/core/display.c b/src/core/display.c -index 4c7b4c0..2122851 100644 +index 0c5f61d..25cf857 100644 --- a/src/core/display.c +++ b/src/core/display.c -@@ -3353,6 +3353,7 @@ meta_display_begin_grab_op (MetaDisplay *display, +@@ -3470,6 +3470,7 @@ meta_display_begin_grab_op (MetaDisplay *display, #endif display->grab_was_cancelled = FALSE; display->grab_frame_action = frame_action; @@ -65,7 +66,7 @@ index 4c7b4c0..2122851 100644 if (display->grab_resize_timeout_id) { -@@ -3583,11 +3584,20 @@ meta_display_end_grab_op (MetaDisplay *display, +@@ -3700,11 +3701,20 @@ meta_display_end_grab_op (MetaDisplay *display, display->grab_wireframe_rect.x, display->grab_wireframe_rect.y); if (meta_grab_op_is_resizing (display->grab_op)) @@ -92,7 +93,7 @@ index 4c7b4c0..2122851 100644 meta_window_calc_showing (display->grab_window); } diff --git a/src/core/window-private.h b/src/core/window-private.h -index da3fc52..65143ce 100644 +index 7cf5b04..2c07e85 100644 --- a/src/core/window-private.h +++ b/src/core/window-private.h @@ -412,6 +412,11 @@ void meta_window_maximize_internal (MetaWindow *window, @@ -108,10 +109,10 @@ index da3fc52..65143ce 100644 void meta_window_unmake_above (MetaWindow *window); void meta_window_shade (MetaWindow *window, diff --git a/src/core/window.c b/src/core/window.c -index 9af5283..6438540 100644 +index 897161e..427f91f 100644 --- a/src/core/window.c +++ b/src/core/window.c -@@ -2666,9 +2666,11 @@ unmaximize_window_before_freeing (MetaWindow *window) +@@ -2693,9 +2693,11 @@ unmaximize_window_before_freeing (MetaWindow *window) } } @@ -126,7 +127,7 @@ index 9af5283..6438540 100644 { /* At least one of the two directions ought to be set */ gboolean unmaximize_horizontally, unmaximize_vertically; -@@ -2702,13 +2704,13 @@ meta_window_unmaximize (MetaWindow *window, +@@ -2729,13 +2731,13 @@ meta_window_unmaximize (MetaWindow *window, meta_window_get_client_root_coords (window, &target_rect); if (unmaximize_horizontally) { @@ -144,7 +145,7 @@ index 9af5283..6438540 100644 } /* Window's size hints may have changed while maximized, making -@@ -2727,12 +2729,13 @@ meta_window_unmaximize (MetaWindow *window, +@@ -2754,12 +2756,13 @@ meta_window_unmaximize (MetaWindow *window, window->display->grab_anchor_window_pos = target_rect; } @@ -164,7 +165,7 @@ index 9af5283..6438540 100644 /* Make sure user_rect is current. */ -@@ -2749,6 +2752,36 @@ meta_window_unmaximize (MetaWindow *window, +@@ -2776,6 +2779,36 @@ meta_window_unmaximize (MetaWindow *window, } void @@ -201,7 +202,7 @@ index 9af5283..6438540 100644 meta_window_make_above (MetaWindow *window) { window->wm_state_above = TRUE; -@@ -7033,6 +7066,112 @@ update_resize_timeout (gpointer data) +@@ -7124,6 +7157,112 @@ update_resize_timeout (gpointer data) return FALSE; } @@ -314,7 +315,7 @@ index 9af5283..6438540 100644 static void update_resize (MetaWindow *window, gboolean snap, -@@ -7045,6 +7184,7 @@ update_resize (MetaWindow *window, +@@ -7136,6 +7275,7 @@ update_resize (MetaWindow *window, MetaRectangle old; int new_x, new_y; double remaining; @@ -322,7 +323,7 @@ index 9af5283..6438540 100644 window->display->grab_latest_motion_x = x; window->display->grab_latest_motion_y = y; -@@ -7109,7 +7249,9 @@ update_resize (MetaWindow *window, +@@ -7200,7 +7340,9 @@ update_resize (MetaWindow *window, meta_window_update_keyboard_resize (window, TRUE); } } @@ -333,7 +334,7 @@ index 9af5283..6438540 100644 /* FIXME: This stupidity only needed because of wireframe mode and * the fact that wireframe isn't making use of * meta_rectangle_resize_with_gravity(). If we were to use that, we -@@ -7233,6 +7375,8 @@ update_resize (MetaWindow *window, +@@ -7324,6 +7466,8 @@ update_resize (MetaWindow *window, if (window->display->grab_wireframe_active) { @@ -342,7 +343,7 @@ index 9af5283..6438540 100644 if ((new_x + new_w <= new_x) || (new_y + new_h <= new_y)) return; -@@ -7242,18 +7386,60 @@ update_resize (MetaWindow *window, +@@ -7333,18 +7477,60 @@ update_resize (MetaWindow *window, * wireframe, but still resize it; however, that probably * confuses broken clients that have problems with opaque * resize, they probably don't track their visibility. @@ -409,5 +410,5 @@ index 9af5283..6438540 100644 if (window->rect.width != old.width || window->rect.height != old.height) g_get_current_time (&window->display->grab_last_moveresize_time); -- -1.7.0.1 +1.7.9 |