Dec 17, 2014

Get A Global Menu In MATE 1.8 With TopMenu (PPA For Ubuntu And Linux Mint)

One of the most requested MATE features is the addition of a global menu applet. However, such an applet (called TopMenu) already exists, though it's not available in any PPA and that prevents many Ubuntu / Linux Mint users from installing it.

To make it easier to install, I've packed TopMenu in a PPA for Ubuntu 14.04 (requires using Ubuntu MATE or upgrading to MATE 1.8 via PPA) and 14.10 as well as Linux Mint 17 and 17.1 (MATE edition, obviously).

TopMenu is compatible with MATE 1.8 (a MATE 1.8 panel applet is shipped) and it fully supports GTK2. According to its Wiki page, GTK3 is partially supported (I didn't encounter any functionality issues in my test) and there are additional plugins for Qt4 and Mozilla apps (Firefox and Thunderbird). I should also mention that unlike Unity's AppMenu, TopMenu doesn't autohide and it's always visible when an application is focused.

Here are a few TopMenu screenshots taken under Ubuntu MATE:

TopMenu - GTK2 app

TopMenu - GTK3 app

TopMenu - Qt app

TopMenu Firefox extension

The PPA below provides both the GTK2 and GTK3 packages as well as the Qt4 plugin. I've also built the Firefox/Thunderbird extension, but I didn't package it and it's available as a separate download - or you can build it yourself.

For technical information about TopMenu, see its Gitorious page.

Important notes (please read!):

  • TopMenu is not considered stable and according to its wiki, GTK3 is only partially supported, so you may encounter bugs or it may not work at all for you

  • I had to tweak TopMenu GTK3 to render properly (some colors were hard-coded and it didn't respect the panel colors) but it's still not perfect and some stuff won't look properly - for instance, when using a transparent panel;

  • if you want to remove TopMenu installed from our PPA, use "purge" instead of remove (this should completely remove it: "sudo apt-get purge libtopmenu-*");

  • TopMenu from our PPA only works with MATE 1.8. To be able to use it in Ubuntu 14.04 (if you don't use Ubuntu MATE 14.04), you'll have to install the latest MATE via PPA.

How to get a global menu under MATE 1.8 with TopMenu in Ubuntu or Linux Mint

1. Install TopMenu

Firstly, let's install TopMenu. To add our PPA and install TopMenu for MATE 1.8 in Ubuntu 14.04 (if you don't use Ubuntu MATE 14.04, you'll have to install MATE 1.8 via PPA) / 14.10 or Linux Mint (MATE edition) 17 / 17.1, use the following commands:

sudo add-apt-repository ppa:webupd8team/mate
sudo apt-get update
sudo apt-get install libtopmenu-gtk2 mate-topmenu

The commands above will add the PPA and install the GTK2 version of the TopMenu (required by the GTK3 and Qt modules) and the TopMenu MATE panel applet.

To get a global menu for GTK3 applications, you must install "libtopmenu-gtk3":

sudo apt-get install libtopmenu-gtk3

To get TopMenu to support Qt4 applications, install "libtopmenu-qt":

sudo apt-get install libtopmenu-qt

For Firefox and Thunderbird global menu support, download and install THIS extension (to install it, simply use drag and drop) or build the extension yourself.

Arch Linux users can install TopMenu via AUR: for GTK2 | GTK3 | Qt (you must load it manually as explained on the TopMenu wiki).

Other Linux distributions: see the instructions @ TopMenu wiki.

2. Once TopMenu has been installed, log out and log back in.

3. Adding the TopMenu applet to the MATE 1.8 panel.

Before adding the TopMenu applet to the MATE panel, it's important to mention that the default MATE "Menu Bar" will stop working so instead of this applet, you'll have to use either the "Main Menu" applet or "MATE Menu" applet. If you have the Menu Bar applet added to the panel, remove it before proceeding!

To add TopMenu to the MATE panel, right click the panel in an empty area and select "Add to panel" and add "TopMenu Panel Applet":

Then, open some application that has a menu (try it with a GTK2 app firstly, like Caja), move the menu to the position you want it to be displayed, right click it and select "Lock to panel". If you don't do this, the TopMenu applet position will reset after a logout.

via Web Upd8 - Ubuntu / Linux blog