From 4d7329a7e21c1a58a3f659b87b86d174e8e4879c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 3 Jun 2017 15:48:20 +0200 Subject: [PATCH] window: Include STATE_CHANGED flag when tiling For size change animations, plugins rely on the size change effect being followed by size changed signal (or effects being kill altogether). However unless the move_resize operation included the STATE_CHANGED flag, the size changed event emitted when the compositor syncs the window geometry only happens when the operation resulted in an actual change. To avoid animations getting stuck in that case, make sure to include the flag when tiling a window. https://bugzilla.gnome.org/show_bug.cgi?id=783293 --- src/core/window.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/window.c b/src/core/window.c index 61e4a1eef..36ea96f40 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -2911,7 +2911,12 @@ meta_window_tile (MetaWindow *window) META_SIZE_CHANGE_MAXIMIZE, &old_frame_rect, &old_buffer_rect); - meta_window_move_resize_now (window); + meta_window_move_resize_internal (window, + (META_MOVE_RESIZE_MOVE_ACTION | + META_MOVE_RESIZE_RESIZE_ACTION | + META_MOVE_RESIZE_STATE_CHANGED), + NorthWestGravity, + window->unconstrained_rect); if (window->frame) meta_frame_queue_draw (window->frame);