<table><tr><td style="">broulik updated this revision to Diff 28255.<br />broulik edited the test plan for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-ejwm6ui3ifytrvr/" rel="noreferrer">(Show Details)</a><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/D10461" rel="noreferrer">View Revision</a></tr></table><br /><div><div><ul class="remarkup-list">
<li class="remarkup-list-item">Split icon mapping into dedicated namespace and extend it a lot</li>
<li class="remarkup-list-item">Monitor menus right away so we know if there's actually a menu (appmenu-gtk-module always claims to have a menu even if there is none)</li>
<li class="remarkup-list-item">Expand sections on the fly so ID mapping is correct and updating actions works ("Undo" action in LibreOffice updates fine now)</li>
<li class="remarkup-list-item">Fall back from menu bar to application menu on the fly (appmenu-gtk-module always announces a menu bar even if the app might only have an app menu)</li>
<li class="remarkup-list-item">Let "items to be added" also create new sections, fixes switching from LibreOffice Splash to Writer where the menu is replaced entirely</li>
<li class="remarkup-list-item">Fix updating visible/enabled property of actions at runtime</li>
<li class="remarkup-list-item">A couple of sanity checks and crash fixes</li>
</ul></div></div><br /><div><strong>CHANGES TO TEST PLAN</strong><div><div style="white-space: pre-wrap; color: #74777D;"><div style="padding: 8px 0;">...</div>Tested `gedit<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">` which supposedly only has a menu bar on Ubuntu</span><br />
{F5707116}<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"><br />
Tested LibreOffice 6 with `gtk3_kde5` platform plugin, should just work with regular GTK3 plugin; also works with `gtk` and `gtk3` plugins when you have appmenu-gtk-module. Out of the box with gtk3 action IDs are randomly assigned so I cannot map them to any icons, however, with appmenu-gtk-module I can.</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">Tested </span>LibreOffice <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">6 with `</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">vanilla </span>gtk3_kde5<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">` platform plugin, should just work with regular GTK3 plugin</span><br />
{F5707119}<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"><br />
LibreOffice with appmenu-gtk-module</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">I won't be able to add any icons to LibreOffice's menus as the action names are random ids assigned by it. In gedit I get some names like "open" and "save" I could map on our side</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">{F5733656}</span><br />
<br />
Applications not having a dedicated menu bar will at least show the top panel menu with Settings, About, and Help<br />
{F5707121}<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
<br />
Does not work with Gimp or Inkscape as they aren't GTK3-based.</span><br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">Out of the box it seems to work with most GTK3 apps (tried shotwell, gnome-builder, gnote, evince) and you get the "application menu" with few items like New Window, Options, Quit.</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">Works with Gimp or Inkscape if you have appmenu-gtk-module (there's GTK2 and GTK3 variants) installed and `GTK_MODULES=appmenu-gtk-module` environment variable set (or unity-gtk-module for pre-Gnome Ubuntu)</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">Together with appmenu-gtk-module and `GTK_MODULES=appmenu-gtk-module` I managed to get a full menu bar in pluma (editor),</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">{F5733658}</span></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D10461?vs=27142&id=28255" rel="noreferrer">https://phabricator.kde.org/D10461?vs=27142&id=28255</a></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D10461" rel="noreferrer">https://phabricator.kde.org/D10461</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
gmenu-dbusmenu-proxy/CMakeLists.txt<br />
gmenu-dbusmenu-proxy/Messages.sh<br />
gmenu-dbusmenu-proxy/gdbusmenutypes_p.cpp<br />
gmenu-dbusmenu-proxy/gdbusmenutypes_p.h<br />
gmenu-dbusmenu-proxy/gmenudbusmenuproxy.desktop<br />
gmenu-dbusmenu-proxy/icons.cpp<br />
gmenu-dbusmenu-proxy/icons.h<br />
gmenu-dbusmenu-proxy/main.cpp<br />
gmenu-dbusmenu-proxy/menu.cpp<br />
gmenu-dbusmenu-proxy/menu.h<br />
gmenu-dbusmenu-proxy/menuproxy.cpp<br />
gmenu-dbusmenu-proxy/menuproxy.h</div></div></div><br /><div><strong>To: </strong>broulik, Plasma<br /><strong>Cc: </strong>rk, rilian, mtallur, ngraham, plasma-devel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>