Skip to content
  • Sebastian Kügler's avatar
    rework kscreen's OSD logic · 4af785ea
    Sebastian Kügler authored and Daniel Vrátil's avatar Daniel Vrátil committed
    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
    4af785ea