Summary:
drop the internal settings InApp,Menu, Decoration
but instead export the menu based on the presence of a dbus service called
org.kde.appmenuview, exported by either the menubar applet or the
kwin decoration button
let the decoration button and the globalmenubar work at the same time
not necessary anymore to have the setting in the kcm
Test Plan:
adding an appmenu applet causes apps started afterwards
to export their menubar, removing it causes new apps to
have their menubar internal again
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, ngraham, mvourlakos, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9215
This workaround breaks applications that rely on aboutToShow/aboutToHide
signals, because it sends aboutToShow to all menus on startup without actually
the menu being opened.
BUG: 375053
FIXED-IN: 5.11.0
Differential Revision: https://phabricator.kde.org/D5705
Summary:
The Appmenu applet doesn't use the AppMenu module, and it interferes
with the applet.
Test Plan:
Set menus to in decoration
Pressed alt+f, it appeared
Changed it to be in the applet
pressed alt+f, nothing happened
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4833
Summary:
Export actionForId as a method in menuImporter
IDs are used in the low level API which the appmenu kded module wants to
use directly.
Fix arguments in itemActivationRequest
We have a int actionId and a uint window timestamp in porting somehow
these had got swapped and renamed. This now matches the relevant DBus
signal they connect to.
Open correct acton sub-menu on loading
So pressing alt+e will open the edit menu immediately when showing the
application menu.
Also remove existing leftover code that did this which is using a member
var which was previously never set.
Test Plan:
Had the relevant emit patch in plasma-integration
Pressed alt+e, got the edit menu
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4832
Summary:
Then update appet, SNI, and appmenu appropriately which are only care
about the root menu.
This fixes some premature showing and re-evaluation.
Test Plan:
Ran statusnotifiertest and checked submenu worked
Ran applet and checked everything was still fine
Restarted kded and checked window decoration menu
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4161
Summary:
Instead of having a menu from the importer and our custom vertical menu
then syncing entries we can simply use the factory method in
DBusMenuImporter to create our custom one from the start.
This makes memory management easier as we only need to worry about the
importer which implicitly owns the menu.
Test Plan: Ran in-window menu, everything worked for me perfectly.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4062
Summary:
libdbusmenu-qt had a quirkin it that meant it would spawn a nested
event loop when updating a menu.
In order to fix StatusNotifierItem I ended up making a fork of the 3
small classes that we needed and applying a fix, whilst we waited for
upstream.
We also were including a complicated library+plugin that handled import
and exporting, just to do importing which is rather pointless.
When appmenu support was restored, we ended up re-linking the original
dbusmenu-qt library. The original still had the same bug, manifesting in
a whole new way of Kate's bookmarks menu automatically closing when you
click on it.
This patch shares the same libdbusmenu-qt lib we have for the SNI
dataengine with the one for appmenu.
Test Plan:
Everything compiles after removing the find package for old libdbusmenu-
qt
Menu in the Plasma applet works a lot better, and doesn't have the bug
of menus randomly closing.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3926
Massively cleanup KAppMenu by removing outdated and unused code.
The global menu has been removed as it will eventually be provided by a plasmoid (famous last words).
The biggest change, however, is that instead of relying on Windows IDs (which won't work on Wayland)
we always speak of DBus service name and object path which will be added as properties to the respective
windows. To support 3rd party applications, we also set the property in the RegisterWindow function.
This way KWin doesn't need any fallback code and can just rely on those properties.
Differential Revision: https://phabricator.kde.org/D3086
Port all remaining KDED modules to json metadata and disables
installation of the desktop files.
The plugins now get installed in ${KDE_INSTALL_PLUGINDIR}/kf5/kded and
the "kded_" prefix is removed.
REVIEW: 124845