Created attachment 174118 [details] Screenrecording presenting the issue SUMMARY Groups of windows can be left outside of virtual desktops (in that nice blurred limbo). I'm not 100% sure if it's a bug or a feature, but it might not be intended behavior as single windows go back to their virtual desktop if there were not moved to another desktop. STEPS TO REPRODUCE 1. Have at least 2 virtual desktops in a row. 2. Have some windows opened in different virtual desktops. 3. Toggle Grid View. 4. Click on a virtual desktop but not on a window and drag windows out of desktop. 5. Release click somewhere where there is no virtual desktop. OBSERVED RESULT Group of windows stays where the click was released. EXPECTED RESULT Windows probably should go back to their virtual desktop in the same way as single windows go back. SOFTWARE/OS VERSIONS Operating System: Fedora Linux 41 KDE Plasma Version: 6.1.90 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.2 Kernel Version: 6.11.0-63.fc41.x86_64 (64-bit)
lol can reproduce. You have to drag the background, not any particular window. Then all the windows come along for the ride and get stuck where you drop them!
You can also not drag them back individually to their original desktop, but only to others.
This also happens with a 2x2 Desktop Grid, if you drop the selection of windows inbetween the Desktop tiles. However! Individual windows will properly cancel the drop and move back to their origin if dropped in this margin. The code that handles that droparea between desktop previews may not be handling the object of "entire desktop" correctly.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/6844
I've tested the posted fix branch but it's not quite there yet. I've given feedback in the MR: https://invent.kde.org/plasma/kwin/-/merge_requests/6844#note_1082692
Git commit 81f99a05062a8378af9a8be4b34b2d1bd4cf3c0a by Niccolò Venerandi. Committed on 09/12/2024 at 20:49. Pushed by niccolove into branch 'master'. Update ExpoCell contentItem position whenever ExpoCell moves Currently it was only updated whenever the geometry of ExpoCell changed; this ensures the position is updated even if a parent of ExpoCell moves. M +7 -0 src/plugins/private/expolayout.cpp M +3 -1 src/plugins/private/expolayout.h https://invent.kde.org/plasma/kwin/-/commit/81f99a05062a8378af9a8be4b34b2d1bd4cf3c0a