Skip to content
Commit 8c521e52 authored by Marco Martin's avatar Marco Martin
Browse files

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?
parent 02f05d1f
Loading
Loading
Loading
Pipeline #287064 failed with stage
in 14 minutes and 13 seconds
Loading
  • 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.

  • Developer

    KScreen, KWin, and Plasma aren't running when you're looking at the SDDM login screen, so no changes from this or other recent MRs should have affected SDDM at all.

    Making SDDM handle multi-monitor setups is quite a different challenge, I'm afraid.

  • @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
  • Developer

    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
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit 59d76b7e

    ·

    mentioned in commit 59d76b7e

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit 598a3556

    ·

    mentioned in commit 598a3556

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit 9e321456

    ·

    mentioned in commit 9e321456

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit 0518ccd3

    ·

    mentioned in commit 0518ccd3

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit f8824ed7

    ·

    mentioned in commit f8824ed7

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit 1e2d2a1b

    ·

    mentioned in commit 1e2d2a1b

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit 14388672

    ·

    mentioned in commit 14388672

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit 6ea17c30

    ·

    mentioned in commit 6ea17c30

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit d59b885a

    ·

    mentioned in commit d59b885a

    Toggle commit list
  • ivan tkachenko 🗯️ @ratijas

    mentioned in commit e274e648

    ·

    mentioned in commit e274e648

    Toggle commit list
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment