Ubuntu – For Ubuntu 18.04, is there a way to show drop-down menus for a certain applications in a menu bar

appmenumenumenu bar

This applies to Nautilus, Gedit, and others. I would like to select, for example, Copy and Paste from a drop down menu, but I am forced to use either the right-click menu or Ctrl-C Ctrl-V shortcuts, because the drop-down menus are non-existent. These menus provided easy access for many essential functions, and I would like to use them on Ubuntu 18.04.

This image (from Ubuntu 16.04) shows the drop-menu feature I'm looking for.

drop-down menu

I know there are similar questions about this issue, but the answers are not definitive and recommend installing Gnome Global Application Menu, which does not implement this feature properly. Also, there are rumors that this shell extension is no longer supported. In either case, it doesn't work.

I've tried several settings, installed Gnome Tweak Tool, logged in with Unity User interface, but nothing works. It doesn't matter if the menus are located in the window's title bar or the top menu bar, as long as they are available somewhere.

My question is: Is it even possible to have these drop-down menus, or should I just give up and stop wasting my time?

Best Answer

There are not an easy solution to that problematic. I need to explain some things as a meta-anwser to realy be possible underestand what happens and where it's the rigth place to ask about all this features you notice are gone.

In recently versions of Gtk (Gtk+3) was added a new feature called appmenu. This feature can be used instead/as an option, of the normal and standard feature called menubar.

Appmenu:

Appmenu

Menubar:

Menubar

The appmenu is more realated with options of the whole application (quit, about..), than options related with this specific window where the menu is set, while the menubar cover both type of actions, the application actions and the window actions(copy, paste, ...). Because of that reason, the menubar is a bit more general then and also ofcourse is more big than the appmenu. Then the menubar is more difficult to be acomodate in interfaces desinged for litle screens like in a phone.

Please note that a copy and paste actions are window specifics, because you are copying some selected files from one window to another. So, it's not the type of application actions and then they are not part of the appmenu actions, but they can be part of the menubar actions.

After that point and like exist both features, the menubar and the appmenu, the developer of the especific application is who need to deside if he want to show one or both types of menu and what type will be selected.

While most of external gnome developers want that his applications will be compatible with other desktop enviroments like KDE, they select the menubar way as is the standard. Instead, the gnome developers select the appmenu, as this is his own way and they concidered it better. This not mean necesary that if you select one or the another way, the rest will not exist ever more. Just will not be show as default.

Anyway, some exceptions of this decisions are for example:

  • Gimp, is also a gnome application, but can not implement the appmenu for obvious reasons (it have a big menu). So, this gnome application continues showing the menubar.

  • Nautilus, because his gnome developers, desided to remove all the implementation of the menubar and only support the appmenu. As they considered the gnome perspective enough appropiete. They don't care to forcing other desktops developers to correct that for his platforms. Like was the case of in Unity where Nautilus have a patch. Or Mate and Cinnamon where other application was create as a fork of Nautilus.

In adition to all this chaos, there are a way to published the appmenu and the menubar over DBus. This ability can be used by the specific shell (unity, gnome-shell) to create or a Global Menu Bar (like in MacOS) or the Global Appmenu like in Gnome shell. Also and how applications can deside export both types of menus at the same time, the solution of join both type in one, like this occurs in the Unity Desktop is also posible.

But, the Global options are only possible if they have support inside the specific applications (Nautilus, Gedit...), so:

  • In the Unity Desktop (a cannonical desktop), a lot of gnome application were patched to be working in correspondency of the Unity Global Menu feature.

  • In the Gnome-Shell (a gnome desktop) they alert his own developers to only care about of the Global Appmenu feature and force it to be the standard.

This facts then enter in contradition and ofcourse load a lot the efforts of the shell developers with are working one agains the anothers.

Please also note: I don't want to mention more difficult and related problematics that was introduced with the gnome decision of use the client side decoration instead of the server side decorations. Repercussions of this decision are also related a lot with your question, but i will avoid that, because really it can be implemented in a way that not cause any disturb. Just take in advance that currently is not how gnome is implementing this feature really. As again, they are trying to force it to be become in the standard.

Users are notice this problems rigth now, because is now when the Ubuntu developers deside to not use the unity desktop as primary. As they are not patching the applications to support the global menu outside Unity, is more easy to the user see the conflict, as the application can be see like it's, because have not the patch that the Ubuntu developers added.

There are then several solution to the exposed problematic at the level of the developers:

  1. The specific developers of the application need to support both features (in that case Gnome developers).

  2. The distro developers need to create/continues patching that problematic gnome applications and also the patch need to be extended outside of an specific desktop (Unity), to be possible use it in other desktops enviroments.

Please note then finally: Like the Ubuntu patches are at the level of the code and this depend of the application itself, there are nothing you as a user can do to solved the conflict and then also there are nothing that can be done in a gnome shell extension like Gnome Global Menu, to fix this type of problematics.

To solved the individual missing features of an application like Nautilus, the only solution is from inside Nautilus. So the solution need to come from inside the application itselft. The only "solution" that it's in your side, is declarate your unconformity with this fact and then use a diferent application. For example: Use Nemo or Caja as a replace of Nautilus.