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.
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.
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.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1333
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