Solid/Projects/DisplayManagement/Design

From KDE Community Wiki

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 (1)
    • 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

(1)Why not to gray-out non-connected output? This would make sense if user would like to pre-configure display fore giving a presentation, so on the stage the only job would be plugging in VGA/Display port?

Display Config Popup/Plasmoid

When a screen is connected, a popup is going to be launch offering the following options:

[Extend to the left]<-->[Clone]<-->[Extend to the right] <--> [Extern only]

Since the popup will be shown only on "New Screen Connected" it can be a plasmoid, just like device notifier. Because of that I Have merged the plasmoid with the popup.

One think though, we've to have a fallback in case that the user is not using the plasmoid

KCM

KCM wil be kind of a mix between the current paradigm of KRandRtray and the popup/plasmoid. It will offer direct/easy/simple options such [extendright] <--> [clone] <--> [extend left] but at the same time it will offer the possibility to change resolutions and drag the monitors around.

To maintain consistency with the rest of KCM, the Apply button will have to be hit in order to apply the configuration.

The "Click ok if this configuration is working for you" WILL NOT exists, Monitors and Laptops are modern enough to allow this.



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.
  • When disconnecting a display, there is no way to access plasma applets which were placed on the 2nd screen. There should be a possibility to show the "hidden" applets in a grouping containment on the currently active screen to be able to move them back to the primary screen. Maybe an integration into the KCM would make sense (e.g. "Show disconnected screen content on primary screen")?

Use Cases

TODO