[HowTo] Enabling KDE global menu support in Mozilla Firefox and Thunderbird

Difficulty: ★☆☆☆☆

Those of you who like the global menu in KDE Plasma will have already noticed that neither Firefox nor Thunderbird export their application menu to the Plasma global menu widget out-of-the-box. And indeed, in their original form as they ship from Mozilla, these two popular applications do not. But that doesn’t mean that you’re stuck with an inconsistent look & feel on your desktop.

The thing however is that you must not be using the stock Firefox and/or Thunderbird anymore, but that you must instead use one of the specially patched versions of these two software titles. This HowTo is intended to present you with the alternatives that do play nice with KDE Plasma. :slight_smile:

Global menu support in other GTK-based applications

In order to have global menu support in other GTK-based applications, you must have the appmenu-gtk-module package installed ─ it’s in the Manjaro repository.

In some cases, this package may however cause Firefox (and derivatives) and Chrome/Chromium to segfault. In that case, it is recommended to replace the appmenu-gtk-module package from the Manjaro repository by the appmenu-gtk-module-git package from the AUR. This is a source code package that must be compiled locally by way of an AUR helper application ─ see farther down ─ or by Pamac, but doing so doesn’t take very long; it’s a lightweight package. :wink:

Note: There is to the best of my knowledge no global menu support for the Pale Moon browser, which is a Firefox fork specifically developed with the user interface of the Firefox 2.x generation. :man_shrugging:


Firefox versions with global menu support

There used to be several patched versions of Firefox available from the AUR, and there even used to be a version called Plasmafox, specifically built for Manjaro by a former forum member. Alas, at present time — October 2023 — the AUR only offers one Firefox version with global menu support anymore — albeit in two variants — and only as source code, and Plasmafox is no longer being maintained.

Unless you’ve got loads of RAM to spare and you have a very fast computer, you will almost with certainty want to use a precompiled package, which you can find here.

When I was still new to Manjaro, I once made the mistake of picking the source code version ─ there may not even have been a pre-compiled binary version of it at the time ─ and it took my computer a whole five (5!) hours to compile and link the source code and turn it into an installable package, with all RAM maxed out, 80% of my swap partition filled up, and all 6 cores of my i5-8400 processor running at the full 100% load. And all the while, the system was completely unusable for anything else.

So, again, unless you’ve got a very powerful machine with loads of RAM ─ say at least 32 GiB ─ you will most likely want to go with the pre-compiled version.


Thunderbird versions with global menu support

Analogous to Firefox, these are packages from the AUR.

  • thunderbird-appmenu ─ source code only
  • thunderbird-appmenu-bin ─ pre-compiled and readily installable binary package

How do I install any of these packages?

1. Using the GUI

  1. If you use the GUI version of Pamac, then you can simply install them from there.

  2. If you use Octopi, then you must enable support for the AUR in the settings, and then you must also install an AUR helper program such as yay or trizen from the standard Manjaro repository. Then, you can click on the :alien: icon next to the search field, and then you type the name of the package in the search field and you press Enter/Return. You can then mark the package for installation, and the AUR helper will do the rest. :wink:

2. By way of the command line

This suggests that you use the command-line version of pamac, or that you have an AUR helper installed.

As an example, we’re going to be using the package thunderbird-appmenu-bin.

yay -Syu thunderbird-appmenu-bin

This command will first make sure that your entire system is fully up-to-date, including any AUR packages you already have installed and of which a newer version has been uploaded to the Arch User Repository in the meantime.

It is not necessary to prefix this command with sudo; in fact, yay will refuse to work if you do that, and instead it will prompt you for the root password when necessary. After making sure your system is fully up-to-date, yay will then download and install the package. No need to log out or reboot, because it’ll be readily available from the system menu right away.

If instead you prefer the use of pamac, then ─ using the same thunderbird-appmenu-bin package as an example ─ the command would be this… :arrow_down:

pamac update && pamac build thunderbird-appmenu-bin 

Further Plasma integration

While all of the above so far has been pertinent to getting global menu support in Firefox and Thunderbird, there is however something more you can do to have these applications further integrate with KDE Plasma.

  1. Install the kmozillahelper package from the repository.

  2. Install the xdg-desktop-portal-kde package from the repository (if it’s not installed already).

  3. Install the plasma-browser-integration package from the repository (if it’s not installed already).


Hopefully this information was useful. Enjoy! :slight_smile:

:beer:


This HowTo is a wiki. Anyone can amend the information in this post.

11 Likes

29 posts were split to a new topic: Plasma Global Menu support in Firefox/GTK

This is not a support thread. For problems regarding this topic, please start a new thread or use one of the existing support threads on this topic ─ thank you.