rework kscreen's OSD logic

Authored by sebas on Dec 5 2016, 5:06 PM.

Description

rework kscreen's OSD logic

Summary:
This changeset moves the various OSDs used in kscreen (output identifier, display button feedback) into the kded module.

The functional change in here is that instead of calling into plasmashell, now kscreen renders its own OSD. Plasmashell falls short since it doesn't offer the controls which kscreen needs, namely deciding what ends up on which output. The display button feedback is done entirely in the kded module, the output identification bits will be called over dbus by the new kscreen module. (I don't want to change the old one too much at this point.)

The ui code also now works better on high dpi displays.

I've tested this code on Wayland and X11, and it works on both. The previous OSD code doesn't.

Delaying the display button switch now also allows us to indicate what actually happened after pressing the button, so the user gets much better feedback (after the changes have been applied.)

Test Plan:

  • tested on X11 and wayland, multi and single screen
  • changeset contains a test app

Reviewers: Plasma

Subscribers: plasma-devel, davidedmundson

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D3598

Details

Committed
dvratilDec 11 2017, 1:28 PM
Differential Revision
D3598: rework kscreen's OSD logic
Parents
R104:bd9c1d863673: show osd later
Branches
Unknown
Tags
Unknown