I have a issue with the way the menu is in KDE 5. I have tested all the included alternative and nothing helps so here is my problem.
KDE 5 menus doesn’t have any sub menus. I can make them myself and they show up but no standard sub menus. In IceWM however I do have the sub menus I had in KDE 4. I’ll include two images to illustrate my issue:
That’s no “issue” with Plasma5 nor the included application launchers.
They only display the structure that is defined in /etc/xdg/menus/application.menu.
Normally on openSUSE, /etc/xdg/menus/application.menu contains a custom SUSE menu structure, the one that you see in IceWM basically.
But openSUSE’s KF5 packages are patched to use kf5-application.menu instead, which is KDE’s shipped default (KDE4 shipped the same btw).
Sticking to the KDE menu structure was a conscious decision (by vote) in a (public) IRC meeting in April, and so far nobody complained in the appropriate places.
KDE 5 menus doesn’t have any sub menus.
It does, but not many…
No my question. How do I get the sub menus back in KDE 5 or get them synced with IceWM?
Copy /etc/xdg/menus/applications.menu to /etc/xdg/menus/kf5-applications.menu, preferably when Plasma is not running.
Unfortunately this will not survive updates though, so you will have to redo it then.
It might also be possible to copy it to ~/.config/menus/kf5-applications.menu, but I’m not sure about that.
I do think we should just drop that patch, it is a hack anyway, as it only affects KF5 applications, not others (KDE4 ones) running in the same session.
If we do want to use kf5-application.menu, the better way would be to just set the environment variable $XDG_MENU accordingly, which would also affect KDE4 applications (and all others respecting the standards, not that many probably use the menu structure anyway though), and even allow users to override it.
I think something else is going on. We had this “new” KDE kickermenu available as an alternative to the kicker we were used to in KDE4. Not openSUSE, but KDE has decided the new one is the default, but … Unlock widgets, right click the kicker menu icon, and you’ll see “Alternatieven”. That will give you a choice of 3: the new menu, the old, and the new full screen application starter.
Upgrading 13.1 -> 13.2 won’t help.
People also must know and understand that KDE4 is dead now.
I know it’s dead that’s why I want to upgraded. But this ‘issue’ is holding me back big time. By upgrading my productivity will go down. I now start all my applications in KDE 5 by searching them. And I’m not a fast typer. Never have been and never will be.
Changing the menu type is not working. The menu structure itself doesn’t change. As reported above. But some of the menus have the option to change to a flat menu style. So why make the flat menustyle the only option? That is basicly what is done.
The mailinglists I’d say, opensuse-factory and/or opensuse-kde.
A bug report would be an option too, but then, this is not really a bug.
No need to drop it if you ask me. Just make the “flat” menu a option. Oh forgot it is a option. Just turn that on by default(?)
We’d still have to drop that patch.
At the moment, using kf5-applications.menu is hardcoded into openSUSE’s KF5 packages, and that is the nearly flat upstream KDE menu structure.
As indicated, it would still be possible to use kf5-applications.menu without that patch, by just setting an environment variable (that’s defined by the standard, and openSUSE’s GNOME does exactly this), which is the better solution.
Although personally I just would go back to SUSE’s application.menu…
As you noticed, Kicker (the new application launcher) has an option to flatten the structure, i.e. remove all submenus, anyway, which hardly has any effect at the moment as there are nearly no submenus…
I know a better way install 13.1 first and then upgrade version by version…
KF5 would still use kf5-applications.menu then, with mostly no submenus. Even if you stayed at 13.1.
In upstream KDE, Kickoff (the one from KDE4) is still the default. Having the new Kicker by default is an openSUSE change.
But that’s unrelated to the menu structure…
In all honesty, I am replying only as a way of bookmarking this thread (so it shows under my forum profile as a recent post). I may try some of wolfi’s helpful suggestions. I’m not sure if there is a better way of marking a thread as of particular interest.
Unfortunately I noticed that the patch has been dropped already.
KDE Frameworks has been changed upstream in 5.15 to not load “applications.menu”, but allows to set the filename during build (the change is coming from Kubuntu). And this is set to kf5-applications.menu in openSUSE now (otherwise it would conflict with the SUSE “applications.menu”).
This makes it a bit more difficult to change back to the SUSE structure…
The same files are there in 13.2 anyway (the second one only if you have kdelibs3 installed as it is from KDE3).
Btw, applications.menu.kde and applications.menu.kde4 are unused and are in fact KDE’s upstream menu structure, i.e. the one without sub menus (or actually not without, but with less). They have been renamed to not conflict with applications.menu (there can be only one).
Again, the “problem” is that KF5 now uses kf5-applications.menu instead of applications.menu (the SUSE structure with 2 levels of categories), copy the latter over the former and you’ll have the “old” menu back.
Or, if you prefer, you can also copy it to ~/.config/menus/ (and rename it to kf5-applications.menu). This user directory overrides the system-wide files.
Lets see if we can fix what shouldn’t be broke.
There is nothing “broken” really.
PS: I did submit a patch yesterday that removes all YaST modules from the menu…
It should work.
But then, I don’t know what applications.menu Leap ships at the moment.
This is used by IceWM though, so if you copy it over, your Plasma5 should at least have the same menu structure as IceWM.
Btw, you need to logout/login for the change to take effect, and before doing so, better run “kbuildsycoca5 --noincremental” to be sure the change is noticed.