<table><tr><td style="">broulik updated the summary for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-gwcfr5gwh4lgryk/" rel="noreferrer">(Show Details)</a><br />broulik updated the test plan for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-b72tioh2qapgic4/" rel="noreferrer">(Show Details)</a><br />broulik updated this revision to Diff 7726.<br />broulik added a comment.
</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/D3085" rel="noreferrer">View Revision</a></tr></table><br /><div><div><ul class="remarkup-list">
<li class="remarkup-list-item">Move setWindowProperty to x11/wayland integration to unclutter the code a bit</li>
</ul>

<ul class="remarkup-list">
<li class="remarkup-list-item">Adds an Alt key listener which, on long-pressing Alt, will activate the menu of the active window. This only works in QApplications with a QMainWindow, I'm open to suggestions how to improve this. Also, Alt+left-click for moving around the window still causes the timer to fire</li>
</ul></div></div><br /><div><strong>EDIT DETAILS</strong><div><div style="white-space: pre-wrap; color: #74777D;"><div style="padding: 8px 0;">...</div>To support Wayland instead of relying on window IDs alone, we set the DBus service name and object path where the menu is as window properties which KWin or any other interested party could read. This way this code becomes completely window ID agnostic and since all the boilerplate (emit layout changed and what not) is in the client,<span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);"> we wouldn't even really need the registrar anymore.<br />
<br />
To facilitate keyboard navigation, long-pressing Alt will request the application to open the menu,</span> <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">we wouldn't even really need</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">and then either KWin will trigger the window title bar button or</span> the <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">registrar anymore</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">application menu applet will do something</span>.</div></div></div><br /><div><strong>EDIT DETAILS</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">* platform integration cmake thing is from kwin<br />
</span>* checkDBusGlobalMenuAvailable() et al are from Qt's upstream<div style="padding: 8px 0;">...</div>* requires Qt 5.<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">7<br />
* Wayland untested</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">7</span><br />
<br />
* still need to figure out the cmake stuff<div style="padding: 8px 0;">...</div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>rPLASMAINTEGRATION Integration for Qt applications in Plasma</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D3085?vs=7652&id=7726" rel="noreferrer">https://phabricator.kde.org/D3085?vs=7652&id=7726</a></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D3085" rel="noreferrer">https://phabricator.kde.org/D3085</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
COPYING.LGPL-2<br />
COPYING.LGPL-3<br />
COPYING.LIB<br />
autotests/CMakeLists.txt<br />
src/platformtheme/CMakeLists.txt<br />
src/platformtheme/kdeplatformtheme.cpp<br />
src/platformtheme/kdeplatformtheme.h<br />
src/platformtheme/kwaylandintegration.cpp<br />
src/platformtheme/kwaylandintegration.h<br />
src/platformtheme/qdbusmenubar.cpp<br />
src/platformtheme/qdbusmenubar_p.h<br />
src/platformtheme/x11integration.cpp<br />
src/platformtheme/x11integration.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>broulik, Plasma<br /><strong>Cc: </strong>graesslin, plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas<br /></div>