Orbit Global Menu: A working global menu addon for GNOME
A new extension brings a working global menu bar to the GNOME desktop, even for some apps that don't have menu bars at all.
Orbit Global Menu is a new GNOME extension that gives the GNOME desktop a feature it was intentionally designed without, and one that some users miss very badly - this vulture being one of them. It adds a working global menu bar to the GNOME top panel. We suspect this is something that will cause strongly contrasting opinions among many GNOME users: some will by puzzled why anyone would bother, while others may think "at last!" and rush to try it.
There have been other attempts to do this before, and the Reg FOSS desk has tried several of them, but we never found one that worked with the majority of applications. Our fondness for this UI feature was visible in the two-part series we wrote in September on how to customize Xfce and then in part two how to get the global menu working with more apps.
The problem is getting worse over time, as in recent versions (since GNOME 40 and Gtk4), the GNOME human-interface guidelines encourage smartphone-style hamburger menus, replacing the traditional horizontal menu bar. It is tricky to add global menu bar support to apps that lack a menu bar, but Orbit's developer "Unmade" found a rather labor-intensive solution. The menu bar applet contains maps of keyboard controls for 292 different apps, so it can show a menu all on its own and then send those apps simulated keystrokes to operate it. It's not the programs' full menu trees, just a subset of them, but it works.
It's also not the most elegant solution, but it is a solution and it works. We tried it on Ubuntu 26.10 and every app in the full install worked to at least some extent. If you are willing and able to build and install a small additional connector, it lets the global-menu applet talk to lots more applications.
The GNOME shell is unusual among open source desktop environments, to an extent that we have criticized before. GNOME Shell was designed with a distinctive look and feel of its own, unlike almost all other desktops. It has a minimalist, stripped-down layout that doesn't look or work quite like anything else, and it's intentionally not very customizable. To change how GNOME works means writing new Javascript code, then packaging it as an extension that users can install from the GNOME Extensions website. This requires both a browser extension and a "native host messaging" connector to be installed into the underlying OS - or a purpose-written app. By default, the desktop comes with neither.
The end result is that GNOME lends a visual identity to the Linux desktop, one that is clear and distinct from either Windows or macOS. (Back in 2013, this vulture argued that when Microsoft threatened to sue multiple Linux vendors over infringing Windows UI patents, some 20 years ago, this UI fragmentation was just what the company wanted.) GNOME 2 was the Linux world's default desktop. GNOME Shell was controversial in its early days, and lost pole position, but it has since won it back. Today, GNOME is the default desktop on all the major distros: Ubuntu, Fedora and Red Hat Enterprise Linux and the RHELatives, as well as Debian and SUSE, all default to GNOME.
GNOME does away with a lot of features that are significant functional parts of other graphical desktops. For instance, it has no desktop icons, no system tray or defined place for status indicators, and neither GNOME nor GNOME-compliant applications have menu bars, either inside windows (Microsoft style) or in the top panel (Apple macOS style). This is disorienting and confusing for those used to controlling software mainly using their menus - but now, that's mainly older hands. This design suits those who grew up on smartphones and tablets, or who feel more comfortable with their stripped-back keyboardless UI than a full desktop WIMP, which can be overwhelming to newbies and non-techies.
If you've followed the evolution of graphical desktops for some 40 years, as this gray-plumed vulture has, some trends are very apparent that aren't so clear if you came in once evolution was underway.
Apple introduced the first global menu bar in the Lisa, and improved on that in the Macintosh. DR GEM copied it very early on, but Apple sued and DR changed the PC version of GEM to be less Mac-like. Microsoft's Windows came along after this, and moved menu bars inside windows instead. When Apple acquired NeXT in 1996, it moved NeXTstep's patent-avoidant vertical menus back to a global bar at the top, along with the clock and some status indicators. There they remain, 30 years later. In 2007, it launched the iPhone, containing a very cut-down OS based on OS X, replacing the Finder with a cut-down version of the Dashboard layer from OS X 10.4. The panel remained, shorn of its menus, which were too fiddly for a small screen.
As The Register mentioned in 2017, in its preliminary releases, Android started out as a keypad-driven Java phone that looked and worked very much like BlackBerry. When the iPhone appeared, Google changed course. The new Android UI resembled iOS, complete with that top panel, still without menus. GNOME 3.0 was not far behind: in 2009 the team promised a revamp of the user experience, and in 2011, launched GNOME 3.0. It too has the fixed top panel - now huge on a laptop or desktop landscape screen - and mostly empty.
Now that top panel regains its original 1983 function. We're rather impressed by the Orbit global menu. It does the job, and it even works with apps that don't have menu bars. It's not perfect: for instance, over-long menus have to scroll, and may fail to do so if new submenus appear.
The GitHub repository has extensive instructions, including how to build and install the optional connector module that lets more apps export their real menus to the extension. It also tells you how to instruct some apps, notably Firefox, that there is a global menu for it to use. We are saddened to note that, as is so often the case, Wayland gets in the way here.
It works rather well with some other extensions, too. With a menu bar, GNOME's strangely centered clock seems out of place, but several extensions, such as Frippery Move Clock, shove it over to the right where we still feel it belongs. If you prefer a lighter-colored panel and dock, it also plays nicely with Blur my Shell. (R)