Skip to content

wayland: Fix resizing of windows with aspect ratio

Vlad Zahorodnii requested to merge work/zzag/gravity into master

After finishing interactive resize, the window needs to be gravitated. However, it won't be gravitated because isInteractiveMoveResize() will return false.

In order to fix that, every configure event needs to carry the gravity, that way the window can be gravitated even after leaving interactive resize.

This should fix resizing of mpv and other windows that have aspect ratio. For example, open mpv and resize it by dragging its top left corner. mpv should not jump to the current cursor position after finishing resize.

Draft:

  • Verify that the handling of m_nextGravity is correct or that it won't create any issues down the road
    Currently, m_nextGravity is updated only when resizing window interactively. We can't forget about the last gravity. So far no kwin core components need to change the gravity, so AbstractClient has not been adjusted to allow changing gravity in resize() and moveResize() as all their usages don't want to disturb the current gravity
Edited by Vlad Zahorodnii

Merge request reports