summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Webster <miketwebster@gmail.com>2022-11-07 16:48:57 -0500
committerMarge Bot <marge-bot@gnome.org>2022-12-05 18:57:20 +0000
commit559e6ff327a358a6daa4b0683fee95700591749f (patch)
tree6dac6ebe65809fe9832e12828813dc3585d4b43c
parentb1e08f683d69ac93b666e3ce8ea4f68d71348eab (diff)
downloadmutter-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.c16
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 |