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 Testing done: - [x] X11 absolutely no config whatsoever - plasma should match kscreen kcm when finally open - [x] Wayland absolutely no config whatsoever - plasma should match kscreen kcm when finally open - [x] X11 had a single monitor config - things should look exactly as before - [x] Wayland had a single monitor config - things should look exactly as before - [x] X11 had a multi-monitor config, one screen was Primary - things should look exactly as before - [x] Wayland had a multi-monitor config, one screen was Primary - things should look exactly as before - [x] X11 Xaver's mental setup with matching EDID - [x] Wayland Xaver's mental setup with matching EDID - [x] X11 have laptop lid and close it then open with two screens - [x] Wayland have laptop lid and close it then open with two screens - [x] X11 no kscreen enabled. Something remains sane, and somewhat consistent - [x] wayland no kscreen enabled. Something remains setup, and somewhat consistent - [x] close/reopen laptop lid with external screen attached - [x] enable/disable outputs without reordering - [x] connecting disconnecting to go from 1 to 2 to 3, to 2 again etc - [x] watch behavior of panels, do they move to the expected screen?
-
Hello! If possible, please test with external monitor set as a primary screen. On my end, a monitor connected to the laptop using USB Type C hub with HDMI port is detected a bit later than laptop's one, so following password input in SDDM Plasma always starts with laptop screen set as a primary and after a second or two the external monitor becomes the primary screen according to KScreen settings. I'm not sure if it's bug or not but I believe that's not a desirable behaviour.
-
@ngraham I think you misunderstood me, maybe I shouldn't have mentioned SDDM, I meant "sddm is fine, but as soon as I input my password in SDDM and press Enter key to log in and load Plasma, a quite funny things happen with screens detection, i.e. during initial Plasma start". My apologies for being not clear enough.
Edited by Vladimir Yerilov -
If the expected monitor eventually ends up as the primary one, I think this is probably working as expected. It's simply a sad fact of life that some screens take a long time to wake up, and until they do, they aren't visible to the system so the system counts as being in a different display setup.
Edited by Nate Graham