-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Description
Problem
When resizing a tiled window by dragging its corner, neighboring tiled windows
do not update their size until the mouse button is released. This creates a
jarring, non-continuous experience - the layout "jumps" into place only after
the drag ends.
Expected Behavior
Neighboring windows should resize in real time as you drag, similar to how
tiling window managers like Hyprland handle it - when you drag a window
edge, all adjacent windows fluidly adjust their size continuously as you move
the mouse.
Current Behavior
- Drag window corner → only the dragged window resizes live
- Neighboring tiled windows stay frozen at their original size
- On mouse release → all neighbors snap/jump to their new positions instantly
Root Cause
On Wayland, Mutter suppresses size-changed and position-changed signals
during an active grab operation. The existing _handleResizing function
correctly calculates new size percentages for neighbors, but it was never
called during the drag - only on grab-op-end.
Additionally, this.move() has a metaWindow.grabbed guard that returns early
for all windows during a Wayland grab, so even if percentages were updated,
moving neighbors was blocked.
here is a example how it should actually work
Screencast.From.2026-03-13.22-38-24.mp4
As shown in the video, I have already worked on it and tested the changes on Wayland and X11, time to merge it
Alternatives I've considered
No response
Design / Screenshots / Mockups
No response