Bug 511570 - Not able to quick tile during toplevel drag
Summary: Not able to quick tile during toplevel drag
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: Quick Tiling (other bugs)
Version First Reported In: 6.5.1
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-03 11:52 UTC by Jari Pennanen
Modified: 2025-11-15 14:53 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.5.3
Sentry Crash Report:


Attachments
Video demonstration: Snapping of window works if dragged from the main area, but not when dragged from tabs. (2.34 MB, video/mp4)
2025-11-03 11:52 UTC, Jari Pennanen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jari Pennanen 2025-11-03 11:52:44 UTC
Created attachment 186456 [details]
Video demonstration: Snapping of window works if dragged from the main area, but not when dragged from tabs.

SUMMARY
When dragging a tab out of the Google Chrome window it doesn't trigger corner or edge snapping for the new window. 

Same dragging feature works in Google Chrome with Windows 11 or GNOME 49, the bug is either in KWIN or Google Chrome, I was asked to create a bug report in KWIN.

STEPS TO REPRODUCE
1. Open Google Chrome with multiple tabs
2. Start dragging a tab out of the Google Chrome, and towards the corner

OBSERVED RESULT
Notice it doesn't snap to corners or sides like normal windows


EXPECTED RESULT
It snaps to corners or sides just like normal window

SOFTWARE/OS VERSIONS
Windows: -
macOS: -
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: Fedora 43, Linux 6.17.5-300
KDE Plasma Version: 6.5.1
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0

ADDITIONAL INFORMATION
This was discussed in Reddit first, I was asked to create a bug report:

https://www.reddit.com/r/kde/comments/1on705o/kde_cant_snap_google_chrome_tabs_to_corners_when/
Comment 1 Jari Pennanen 2025-11-03 11:58:48 UTC
I noticed, if I enable "Wobbly Windows" effect, the tabs being dragged don't wobble. Somehow KWIN doesn't recognize those as windows being dragged?
Comment 2 David Redondo 2025-11-03 12:55:39 UTC
Yes it's related.
Comment 3 David Redondo 2025-11-04 09:13:11 UTC
It makes sense from the User pov and I even specced it that way

From now on the new window is moved by the compositor during the drag as if the client called xdg_toplevel.move.

but didnt implement it that way
Comment 4 Bug Janitor Service 2025-11-04 15:37:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8363
Comment 5 David Redondo 2025-11-11 16:09:02 UTC
Git commit ab3c7d43b518a0f2f06f7a875a4d5e497dcb4648 by David Redondo.
Committed on 11/11/2025 at 14:02.
Pushed by davidre into branch 'master'.

Use an interactive move for toplevel drag

This aligns more with the expecations what happens when a window
is moved by the user. Enables for example  to quick tile the
attached window and enables effects such as wobbly windows to affect it.
Simplifies window tracking a bit, we don't need to care about previous
windows as a new toplevel can only be attached when the previous
toplevel has been unmapped.
FIXED-IN: 6.5.3

M  +26   -18   src/input.cpp

https://invent.kde.org/plasma/kwin/-/commit/ab3c7d43b518a0f2f06f7a875a4d5e497dcb4648
Comment 6 David Redondo 2025-11-14 09:29:14 UTC
Git commit 10355473cc5cbe2a4c19eb6c74470cb7286b3168 by David Redondo.
Committed on 14/11/2025 at 09:03.
Pushed by davidre into branch 'Plasma/6.5'.

Use an interactive move for toplevel drag

This aligns more with the expecations what happens when a window
is moved by the user. Enables for example  to quick tile the
attached window and enables effects such as wobbly windows to affect it.
Simplifies window tracking a bit, we don't need to care about previous
windows as a new toplevel can only be attached when the previous
toplevel has been unmapped.
FIXED-IN: 6.5.3

(cherry picked from commit ab3c7d43b518a0f2f06f7a875a4d5e497dcb4648)

M  +26   -18   src/input.cpp

https://invent.kde.org/plasma/kwin/-/commit/10355473cc5cbe2a4c19eb6c74470cb7286b3168