Skip to content

windowManager: Show window resizing clone on "size-changed"

Jonas Dreßler requested to merge verdre/gnome-shell:fix-resize-ghosts into master

When a window is being resized by the compositor, with Wayland the compositor first asks the window to change its size and emits the "size-change" signal, and then emits the "size-changed" signal after the window acknowledges the new size. To show a fancy resize animation, gnome-shell creates a "screenshot" of the resizing window on the "size-change" signal, and later animates that "screenshot" to the new window size on the "size-changed" signal.

Now if a client is not responding to our requests asking it to change its size, we get a "size-change" signal and start showing the window-clone, but never a "size-changed" signal, animating and hiding the clone again. This causes a so called "ghost window" that is shown above everything else and never disappears again.

To fix that, start showing the window clone once we get the "size-changed" signal instead of the "size-change" signal. This makes sure the window actually updates its size and the clone is going to be hidden again.

Fixes mutter#1078 (closed)

Merge request reports