The lack of a global menu in GNOME Shell is a drawback I hear many Unity users mention when discussing the merits of Ubuntu’s switch back to GNOME.

But this bug might not bite for long as a new third-party global menu GNOME extension is in development — and it’s already available to test.

Global Menu GNOME Extension

‘GNOME Global AppMenu‘ is a GNOME Shell extension that integrates a global application menu into the GNOME Shell topbar.

Although currently in beta the extension works well on GNOME 3.24 on Ubuntu 17.04, with app menus for most apps, including Firefox, Caja, and GIMP, all showing up correctly.

A well-stocked set of settings is already present in the app for you to tweak and twiddle with, including options to adjust the appearance of menus, assign keyboard shortcuts, and set an (entirely optional) animation effect for menu transitions.

Development Hurdles

Writing about his extension in our comments section recently, GNOME Global Menu developer Lester Carballo Perez explained a little bit about the development hurdles he’s having to leap over to get this extension working (all sic):

“The big problem appear when GNOME decided remove the Gtk applications support to export the menu (like recently occurs on Gnome applications). Also a big problem it’s make it working with an unstable API that it’s released with a lot of changes in all versions of Gnome Shell. If you develop something useful and promote third-party develop, you will need to ensure a good stable API first, but it’s not there… You will need to have a good packaging and avoid the usage of private sub-modules, or how is supposed that you promote the third-party work and at the same time you are hiding yours libraries.”

”There are a lot of private sub-modules on Gnome Shell. I think that this mean that really gnome shell is not develop with a focus on third-party, will it’s actually a shame, because the extension system it’s a good feature to create in an “easy” ways more things like we can see here.”

It’s a work in progress

Functional with caveats is how I’d describe the extension. It’s in beta and feels it. As such, you need to expect bugs, issues and missing or half-working features.

Not every app is guaranteed to integrate menus correctly (especially apps which use their own custom toolkits, like Blender and LibreOffice) and those that do may appear cramped or squashed in depending on your GNOME Shell theme.

The Github page also warns that some menus may “take ages to load and can freeze GNOME Shell forever” — so be prepared!

Install GNOME Global Menu Extension

If you want to take it for a test drive — keep in mind that this extension is still a beta — you can download the extension from Github and “install” it using the GNOME Tweak Tool utility.

GNOME Global App Menu on Github

Once you downloaded, installed and enabled the extension in GNOME Tweak you’ll notice that nothing happens, and no app menus show in the topbar.

Don’t panic.

Log out and back in to restart your GNOME session (pressing Alt + F2 and typing ‘ r ‘ may also do the trick) and open a known working app like Mozilla Firefox.

Remember that many GNOME apps do not have traditional app menus. Before you file a bug about missing menus in your favourite app be sure to check whether they should be there in the first place!