Solid/Projects/DisplayManagement/Design
This post shows the design of what will be "Display Management" in KDE-Workspace 4.8
All the design is going to be based on this notes, think of them as the foundations of Display Management:
- Automatic behavior is encouraged
- Remove an output if the cable is disconnected
- Popup a config dialog if a cable is connected
- Etc...
- An average user doesn't want to change the display config too often
- The average user will use a few configurations, which will be encouraged:
- Display cloned (Same resolution)
- Display extended (to the right or to the left)
- Only external screen
Display Config Popup
When a screen is connected, a popup is going to be launch offering the following options:
[Extend to the left]<-->[Clone]<-->[Laptop only] <--> [Extern only] <--> [Extend to the right]
KCM
The KCM will have two views, Simple and Advanced.
If only two screens are connected, the Simple view will be shown, it will be just like Display Config Popup. Easily, the user will be able to switch to the "Advanced View" where he will be able to mess with all the possible configuration (Resolution, rotation, etc...).
if the user has more than 3 screens, then only advance view will be shown.
Plasmoid
If the user needs a plasmoid, means that s/he is a hardcore user. Nevertheless we will offer only the same options we offer in the Config Popup + a button to open the advance configuration view in the KCM.
kded
Automagic is the word in all this design, and biggest part of it will happend within the KDED.
When a set of display are configured via Plasmoid/Popup/KCM, the configuration will be saved and it will be related to the set of display used. This means that when you have the same set of display's again kded will detect it and load the last configuration you used. Of course when this happens the popup Will Not be shown.
When a display is disconnected, it will be removed automatically.
Miscellaneous
- If the laptop lid is closed but you have an external desktop, you don't alawys want the system to be suspended/locked/...
- I don't know the details, but we should offer some "Force dpi" and stuff like that int he KCM.
Use Cases
TODO