diff options
author | Michael Webster <miketwebster@gmail.com> | 2022-11-07 16:48:57 -0500 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2022-12-05 18:57:20 +0000 |
commit | 559e6ff327a358a6daa4b0683fee95700591749f (patch) | |
tree | 6dac6ebe65809fe9832e12828813dc3585d4b43c | |
parent | b1e08f683d69ac93b666e3ce8ea4f68d71348eab (diff) | |
download | mutter-559e6ff327a358a6daa4b0683fee95700591749f.tar.gz |
tiling: Skip the resize effect for tiled windows during user grabs.
meta_window_tile gets called by the grabbed window's match during
tile resizing. These incremental changes don't need to be animated.
Closes: #2246
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2579>
-rw-r--r-- | src/core/window.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/core/window.c b/src/core/window.c index 962c05f20..c2e24e570 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -2912,7 +2912,6 @@ meta_window_tile (MetaWindow *window, MetaTileMode tile_mode) { MetaMaximizeFlags directions; - MetaRectangle old_frame_rect, old_buffer_rect; g_return_if_fail (META_IS_WINDOW (window)); @@ -2941,12 +2940,17 @@ meta_window_tile (MetaWindow *window, /* Setup the edge constraints */ update_edge_constraints (window); - meta_window_get_frame_rect (window, &old_frame_rect); - meta_window_get_buffer_rect (window, &old_buffer_rect); + if (!window->tile_match || window->tile_match != window->display->grab_window) + { + MetaRectangle old_frame_rect, old_buffer_rect; + + meta_window_get_frame_rect (window, &old_frame_rect); + meta_window_get_buffer_rect (window, &old_buffer_rect); - meta_compositor_size_change_window (window->display->compositor, window, - META_SIZE_CHANGE_MAXIMIZE, - &old_frame_rect, &old_buffer_rect); + meta_compositor_size_change_window (window->display->compositor, window, + META_SIZE_CHANGE_MAXIMIZE, + &old_frame_rect, &old_buffer_rect); + } meta_window_move_resize_internal (window, (META_MOVE_RESIZE_MOVE_ACTION | |