Base containments upon screen order
Base containment/view screen assignment uniquely on an ordered list of screens which will be decided by KScreen, removing the concept of primary screen and the whole load and save of screen connector/id association. A protocol based on Atoms on X11 and as a native protocol on Wayland tells plasma the complete order of the screens, allowing the user to set not only primary screen but the whole order from the KSCreen KCM.
Note that this is still very early work, as the protocol doesn't exists yet and is purely based upon primary screen followed by the other screens based upon alphabetical order of connector names. As many multiscreen scenarios as possible will be tested within screenpooltest and shelltest
BUG:450068 BUG:385135 BUG:427861
Test plan:
-
X11 absolutely no config whatsoever - plasma should match kscreen kcm when finally open -
Wayland absolutely no config whatsoever - plasma should match kscreen kcm when finally open -
X11 had a single monitor config - things should look exactly as before -
Wayland had a single monitor config - things should look exactly as before -
X11 had a multi-monitor config, one screen was Primary - things should look exactly as before -
Wayland had a multi-monitor config, one screen was Primary - things should look exactly as before -
X11 Xaver's mental setup with matching EDID -
Wayland Xaver's mental setup with matching EDID -
X11 have laptop lid and close it then open with two screens -
Wayland have laptop lid and close it then open with two screens -
X11 no kscreen enabled. Something remains sane, and somewhat consistent -
wayland no kscreen enabled. Something remains setup, and somewhat consistent -
close/reopen laptop lid with external screen attached -
enable/disable outputs without reordering -
connecting disconnecting to go from 1 to 2 to 3, to 2 again etc -
watch behavior of panels, do they move to the expected screen?