https://bugs.kde.org/show_bug.cgi?id=525024

--- Comment #1 from Kacper Paczos <[email protected]> ---
Correction to my own report, before anyone spends time on it: the Grid view
does already reorder desktops, and I should have read that code path before
filing.

In src/plugins/overview/qml/Main.qml, the drop handler on each desktop is:

    if (drop.keys.includes("kwin-desktop")) {
        // dragging a desktop as a whole
        if (drag.source === mainBackground) {
            drop.action = Qt.IgnoreAction;
            return;
        }
        KWinComponents.Workspace.moveDesktop(drag.source.desktop,
desktop.x11DesktopNumber - 1);
    }

and the drag that carries the "kwin-desktop" key is started by the DragHandler
on the desktop background, with the WindowHeap as its visual.
Workspace.moveDesktop() is not a window operation - it goes straight to
VirtualDesktopManager::moveVirtualDesktop() (workspace_wrapper.cpp:309), which
is the same reordering the Overview desktop bar is getting in merge request
9832.

So dragging a desktop onto another in the Grid changes their order. What made
me file this is that the gesture *looks* like the windows are being moved,
because the item that travels under the cursor is that desktop's WindowHeap,
and there is nothing else on screen to suggest the desktops themselves are
being rearranged.

What I would still like to know before this is closed, and what I have asked
the person who ran into it to check: after dropping desktop A onto desktop B,
does A end up empty - which would be windows moving and a real bug - or do the
two simply exchange places, which is the code above working as intended? I will
report back with that answer rather than leaving a guess on the tracker.

If it turns out to be the latter, this is at most a discoverability report and
should be retitled or closed; sorry for the noise either way.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to