Bug 464171 - Icons on primary screen's desktop containment do a phantom-move to newly-plugged-in secondary screen's desktop containment
Summary: Icons on primary screen's desktop containment do a phantom-move to newly-plug...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Desktop icons & Folder View widget (other bugs)
Version First Reported In: master
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: multiscreen
Depends on:
Blocks:
 
Reported: 2023-01-11 21:03 UTC by Nate Graham
Modified: 2023-01-13 18:01 UTC (History)
5 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2023-01-11 21:03:29 UTC
STEPS TO REPRODUCE
1. Start with one laptop screen with icons on the desktop
2. Plug in an HDMI monitor and choose "Expect to left" in the KScreen OSD

OBSERVED RESULT
Everything behaves as expected, except for the icons on my primary screen's desktop have moved to the newly-plugged-in secondary screen's desktop.

EXPECTED RESULT
Icons on the primary screen's desktop don't move.

ADDITIONAL INFORMATION
Neither the desktop itself nor the Panel have moved to the secondary screen; it's just the icons.

The icons cannot be dragged-and-dropped; they spring back into place when dropped.

Restarting plasmashell makes the icons return to their original positions.

This is all 100% reproducible for me on Wayland. Have not tested X11 yet.
Comment 1 Nate Graham 2023-01-11 21:11:53 UTC
Other data points:

- When I restart  plasmashell to fix it, if I unplug the screen, and plug it in again, the icons move to the right screen again. But the next time I trigger the OSD and expend to the other side, this issue recurs.

- When I restart plasmashell to fix the issue, the icons move back to the correct screen, but their custom arrangement is lost and they're arranged in the default alphabetical order.
Comment 2 David Edmundson 2023-01-11 22:42:43 UTC
Nate mentioned in IM both containments are showing the same folder, which means it's the folderview itself using it's own screenmapping to decide what's on which screen.

It's numerically index based, so it should all work with the new plasma behaviour...though clearly not quite.
Comment 3 Bug Janitor Service 2023-01-13 10:57:24 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1333
Comment 4 David Edmundson 2023-01-13 16:51:25 UTC
Git commit 87feb604763550306bcc5577045ee00fcb62a831 by David Edmundson.
Committed on 13/01/2023 at 16:51.
Pushed by davidedmundson into branch 'master'.

Fix path skipping screen removal signal

We might get screen removal signals and then a re-ordering from the
backend or the other way round.

In the event that we get the re-order first it's the intention to take
this as the single source of truth and remove it from
m_availableScreens. In this case we have to notify clients. It's
important that this removal is signalled before we process a re-order.

M  +11   -7    shell/screenpool.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/87feb604763550306bcc5577045ee00fcb62a831