Summary: | Dragging tiled windows to other virtual desktops in Overview un-tiles them on the destination desktop | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | dmatteo002 |
Component: | effects-overview | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | dmatteo002, kdedev, nate, postix |
Priority: | NOR | Keywords: | qt6 |
Version First Reported In: | 6.3.90 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/0f7dd844be0d01ff72b539b04ad2c37f0a29d662 | Version Fixed In: | 6.4.0 |
Sentry Crash Report: | |||
Attachments: | Video of swapping two virtual desktop |
Description
dmatteo002
2025-05-27 07:55:07 UTC
Created attachment 181775 [details]
Video of swapping two virtual desktop
It looks like what's going on here is that moving windows between desktops resets their tiled state on the destination desktop. Interestingly, the tiled state is remembered for the original desktop if you drag the window back. (In reply to Nate Graham from comment #2) > It looks like what's going on here is that moving windows between desktops > resets their tiled state on the destination desktop. Interestingly, the > tiled state is remembered for the original desktop if you drag the window > back. Yeah, that's exactly what happens... In an ideal world, the overview effect would simply swap the desktops, but that's not the case. Given that virtual desktops can have different layouts, in 6.4, I don't think it's feasible to preserve window geometries as is. So untiling is the best option atm. In 6.5, we should look for a proper way to swap `VirtualDesktop`s. The hardest part is maintaining compatibility with stupid X11. If we didn't have to care about X11, it'd take 5 minutes to fix the bug. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7704 Git commit e0569606ab5a5075a55e6d528e93d7abaf45d4f5 by Vlad Zahorodnii. Committed on 06/06/2025 at 06:47. Pushed by vladz into branch 'master'. Implement proper virtual desktop reordering At the moment, the only available to move a virtual desktop from one position to another is to move windows. While this works fine if a window is not in any special state, it doesn't work out with tiling. This change introduces basic infrastructure to reorder virtual desktops. M +0 -22 src/plugins/overview/overvieweffect.cpp M +0 -2 src/plugins/overview/overvieweffect.h M +1 -1 src/plugins/overview/qml/main.qml M +12 -0 src/scripting/virtualdesktopmodel.cpp M +1 -0 src/scripting/virtualdesktopmodel.h M +10 -0 src/scripting/workspace_wrapper.cpp M +5 -0 src/scripting/workspace_wrapper.h M +30 -0 src/virtualdesktops.cpp M +10 -0 src/virtualdesktops.h M +25 -1 src/x11window.cpp M +3 -0 src/x11window.h https://invent.kde.org/plasma/kwin/-/commit/e0569606ab5a5075a55e6d528e93d7abaf45d4f5 Git commit 0f7dd844be0d01ff72b539b04ad2c37f0a29d662 by Vlad Zahorodnii. Committed on 07/06/2025 at 10:29. Pushed by vladz into branch 'Plasma/6.4'. Implement proper virtual desktop reordering At the moment, the only available to move a virtual desktop from one position to another is to move windows. While this works fine if a window is not in any special state, it doesn't work out with tiling. This change introduces basic infrastructure to reorder virtual desktops. (cherry picked from commit e0569606ab5a5075a55e6d528e93d7abaf45d4f5) Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> M +0 -22 src/plugins/overview/overvieweffect.cpp M +0 -2 src/plugins/overview/overvieweffect.h M +1 -1 src/plugins/overview/qml/main.qml M +12 -0 src/scripting/virtualdesktopmodel.cpp M +1 -0 src/scripting/virtualdesktopmodel.h M +10 -0 src/scripting/workspace_wrapper.cpp M +5 -0 src/scripting/workspace_wrapper.h M +30 -0 src/virtualdesktops.cpp M +10 -0 src/virtualdesktops.h M +25 -1 src/x11window.cpp M +3 -0 src/x11window.h https://invent.kde.org/plasma/kwin/-/commit/0f7dd844be0d01ff72b539b04ad2c37f0a29d662 |