<table><tr><td style="">sebas created this revision.<br />sebas added a reviewer: Plasma.<br />sebas added a subscriber: davidedmundson.<br />Restricted Application added a project: Plasma.<br />Restricted Application added a subscriber: plasma-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D3598" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This changeset moves the various OSDs used in kscreen (output identifier, display button feedback) into the kded module.</p>

<p>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.)</p>

<p>The ui code also now works better on high dpi displays.</p>

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

<p>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.)</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">tested on X11 and wayland, multi and single screen</li>
<li class="remarkup-list-item">changeset contains a test app</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R104 KScreen</div></div></div><br /><div><strong>BRANCH</strong><div><div>sebas/osd</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D3598" rel="noreferrer">https://phabricator.kde.org/D3598</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
kded/CMakeLists.txt<br />
kded/daemon.cpp<br />
kded/daemon.h<br />
kded/osd.cpp<br />
kded/osd.h<br />
kded/osdmanager.cpp<br />
kded/osdmanager.h<br />
kded/qml/Osd.qml<br />
kded/qml/OsdItem.qml<br />
kded/qml/OutputIdentifier.qml<br />
tests/CMakeLists.txt<br />
tests/osd/CMakeLists.txt<br />
tests/osd/main.cpp<br />
tests/osd/osdtest.cpp<br />
tests/osd/osdtest.h</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>sebas, Plasma<br /><strong>Cc: </strong>plasma-devel, davidedmundson, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas<br /></div>