[SOLVED] How do I bypass appmenu (global menu) on a non-qt application?

Hello everyone! I’ve posted this issue on Reddit already, but we couldn’t figure out a solution.

The issue at hand: When using DaVinci Resolve (which comes as an AppImage installer officially from their website, or unofficially from AUR), there is a bug in the program that prevents it from forwarding its menu to any global menu widget. This means that I must disable “Application menus daemon” from System Settings → Startup and Shutdown → Background Services when I launch the application, so the menu displays within the window instead. This is inconvenient, because I use the Window AppMenu with basically every other application.

What I’m looking for: I want to bypass the global menu for this specific application alone, while keeping it working for everything else. This way, the menu is at least accessible from within the program window as opposed to not being available at all.

What I’ve tried: 1) using the env KDE_NO_GLOBAL_MENU=1 variable. Since the app isn’t Qt it doesn’t affect it. This works with stuff like dolphin, konsole, etc only.
2) using env DBUS_SESSION_BUS_ADDRESS=“” as suggested by a KDE contributor. This unfortunately didn’t work for either DaVinci or any other app I tried it with.
3) searching for a way to pause/resume the global menu daemon from the command line. Didn’t find any, since it doesn’t seem to be controlled by systemctl
4) checking qdbusviewer to see if I could find anything there, but I’m completely lost as to what anything there means, and it doesn’t seem to have any options to add exceptions for applications that I could see.
5) using the built in global-menu widget instead of Window AppMenu

I would love to insert screenshots to show it more graphically, but alas I can’t upload media or share links, I imagine because I’m new.

From my research, I’ve seen that this Application menus daemon is managed by KDE Daemon (kded5), and is called appmenu (from reading $HOME/.config/kded5rc). Surprisingly enough, I couldn’t find a way to pause/resume it from the terminal, just through the UI. This is really curious as I’m coming back to Linux from using Windows for work for a couple of years, and I remember one of the things that was so nice about Linux was that you could do most anything from the command line. How times change :smile:

Any help to allow me to automate the process of pausing the daemon just when launching this application and resuming it the rest of the time is appreciated. I’d be fine with either commands for the launcher, environment variables, or any other way to make an exception for this one program alone.

Thanks!

… just from reading about it:

you have seen this?

DaVinci Resolve - ArchWiki

or the whole thing, really

and this? - which seems to be a work around (without resorting to the command line):

Blackmagic Forum • View topic - Hidden menu with global menu on Linux KDE Plasma

There could also be differences in behaviour between AppImage versions and the “native” version that you get from installing it from AUR

Which one do you use?
AppImage?
… try the native one?

How timely. I just found a working solution! The command to enable/disable kded5 managed services is through a dbus manager, apparently. Reddit user Zajoe2 had the solution inside the recent reddit post “How do I stop KDE Plasma background services from a shell command?” (still can’t insert links :smile: )

With these commands I can enable/disable the appmenu daemon
Load module:
qdbus org.kde.kded5 /kded org.kde.kded5.loadModule "appmenu"
Unload module:
qdbus org.kde.kded5 /kded org.kde.kded5.unloadModule "appmenu"

I can modify the exec options in the program launcher to unload/reload the module as the program starts and finishes launching. I hope this can be of help to someone else in the future.

1 Like

Yes, thanks for your reply. I had done fairly extensive research and those are about the first results a google search turns in. The first link is a workaround for the application not having any window bars/decorations/borders etc, but isn’t related to the menus. The second link is a user with the same issue I was facing, who said you could enable/disable the Application menus daemon from the system settings UI, which I’ve stated I’m aware of already, but wanted to avoid having to navigate through the UI every time (as stated in the OP).

I tried both the downloadable installer from their website as well as the AUR version. I try not to resort for help until I’ve tried everything I could think of and exhaust the basic stuff (different versions, wikis, public/known workarounds, etc). Next time I’ll try and be more extensive in my report of what things I came across during the research to avoid wasting anyone’s time.

This was related to bypassing or creating an exception for the global menu which no one had done for it (that I could find until now, anyway).

Good on you for finding a solution!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.