(Packaging is fixed, we are done)
Latest revision as of 10:39, 16 July 2013
Replace current KDE screen management software by KScreen.
- Name: Dan Vrátil
- Email: email@example.com
 Current status
- Targeted release: Fedora 19
- Last updated: 2012-01-22
- Percentage of completion: 100%
 Detailed Description
KScreen is a KDE screen management software that massively improves user experience when working with multiple monitors in KDE. It provides modern user interface and can automatically save and restore screen configuration profiles. It obsoletes the current screen management software.
 Benefit to Fedora
KScreen provides a modern, intuitive and user-friendly interface to configure connected displays, their position, rotation or resolution. The main feature however is ability to automatically save and restore screen configuration for each set of connected monitors, so users only need to configure screen only when a new monitor is connected for the first time. After that KScreen will automatically load profile that describes all currently connected monitors. For instance, if you have a laptop with an external monitor connected, connecting a TV to the laptop will cause KScreen to load profile matching combination of EDIDs of the TV, the laptop and the external monitor and apply it (for example enable the TV and disable the external monitor). Unplugging the TV will restore profile matching EDIDs of the remaining connected monitors.
When a monitor is plugged-in for the first time, there is a set of rules that KScreen will automatically apply to create a new profile, depending on whether the monitor is connected to a PC, or a laptop, or whether the laptop is docked or it's lid is closed etc. and the new monitor will be extended to right, to left, or left disabled. In next versions, connecting an unknown monitor will display a Plasma popup, allowing user to quickly change position of the newly connected monitor or open the KCM to change advanced settings.
This feature affects only KDE. The only necessary actions are to remove krandr from kde-workspace, or move it to a subpackage that would conflict with kscreen package and ensure that kscreen is installed by default.
 How To Test
To properly test KScreen, one should have at least two monitors.
To use KScreen, you have to
- Install libkscreen and kscreen packages (packages with 0.0.71 are available for f17 and f18 too (pending move to testing))
- Disable the old screen management:
qdbus org.kde.kded /kded org.kde.kded.unloadModule randrmonitor qdbus org.kde.kded /kded org.kde.kded.setModuleAutoloading randrmonitor false
- Load KScreen KDED module:
qdbus org.kde.kded /kded org.kde.kded.loadModule kscreen
The last two steps will be solved automatically when the 'randrmonitor' module will be removed from kde-workspace.
- Connect a new monitor. Depending on the rules desribed above, the monitor will or will not be automatically enabled (refer to README in KScreen, where the cases are properly documented).
- Change configuration of monitors in the KCM (change resolution, position or orientation of any monitor). The changes shouldbe applied correctly.
- Disconnect a monitor. The screen should be resized automatically, no window should be left "hidden" in the, now unavailable screen.
- Connect the monitor again. The previous configuration should be correctly restored.
- Repeat the steps above with different monitors and configurations.
 User Experience
Users will not be bothered with manual display configuration when they (dis)connect a monitor, everything will be done automagically and without user interaction.
There are no packages depending on kscreen/libkscreen packages, nor does this feature depend or conflict with any other.
 Contingency Plan
No plan is necessary. KDE SC would be shipped with the current screen management software.
There is a short description of the project + guide how to report bugs on community wiki: http://community.kde.org/Solid/Projects/ScreenManagement
 Release Notes
This release features KScreen, a new screen management software for KDE. It has a new UI for monitors configuration and automatic saving and restoring of profiles for connected monitors.