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
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.