Package request: firefox-kde-opensuse (Firefox with KDE global menu support)

When I installed Manjaro all the way back in 2019 — using the 18.0.4 Illyria ISO — the included version of the Firefox browser was firefox-kde-opensuse, which has patches for better integration with the KDE Plasma desktop environment, including support for the global menu. Then, a few updates later, the Firefox in the Manjaro repository was suddenly changed to the stock version from Mozilla, without any of those Plasma integration patches.

At the time, a few alternatives existed, for instance in the form of Plasmafox, a version of the Firefox browser based upon firefox-kde-opensuse as well as upon waterfox (for enhanced security). Plasmafox was created specifically for Manjaro by a now former forum member, @torvic9, and it even came with a custom icon, created by another former forum member, @SGS, who has in the meantime gone on to become a cofounder of Garuda Linux.

However, @torvic9 hosted the binary packages for Plasmafox himself — I believe it was at GitHub, but I’m not sure — and Plasmafox was not available from the official Manjaro repositories. Then somewhere along the line, @torvic9 switched to Arch as his main distribution, and therefore the precompiled versions of Plasmafox were not guaranteed to work in Manjaro Stable anymore. @torvic9 then also left the forum (for reasons unknown) and asked for his account to be anonymized, and a while later still, Plasmafox became abandonware.

As a result, there no longer is any binary package for a Firefox-based browser with full Plasma integration (including global menu support), or at least, not one that is guaranteed to work in Manjaro Stable. There used to be binary packages for firefox-appmenu-bin and firefox-kde-opensuse available from the AUR, but those too have been dropped — the former was dropped from the AUR altogether, and the latter is only available as source code anymore. At present time, I myself and at least one other member of this forum are still using the now outdated firefox-appmenu-bin (version 112), which, as I said, has completely disappeared from the AUR a while ago already.

Gratuitous screenshot

Building the source code into a binary package is very CPU- and memory-intensive, and on my Intel i5-8400 machine here, it takes between 4 and 5 hours to complete, in which time the system is completely unusable for anything else — been there, done that.

As such, I politely request that firefox-kde-opensuse be added to the Manjaro Extra repository as a binary package again, as it was back when I installed Manjaro on this system in 2019. :pray:

Note: There is also a librewolf-kde-appmenu in the AUR, as well as a firedragon-appmenu — which is a fork of librewolf with KDE patches and global menu support (which was once in librewolf too but was recently dropped) — but both are also only available as source code that needs to be built into binaries on the local system, and both are also lagging behind on the official Firefox from Mozilla by several versions, the most recent version being 117.

firefox-kde-opensuse on the other hand currently stands at version 120. @theodan, who maintains firefox-kde-opensuse, does offer a binary package of it via his Chaotic AUR mirror, but this version is compiled for use in Arch Linux, and its usability in Manjaro Stable is therefore not guaranteed, as I discovered a while ago when trying to install a single package — ungoogled-chromium-bin — from the Chaotic AUR. I also don’t like the idea of having to resort to the Chaotic AUR in the first place.

Thank you for reading the above. :man_bowing:

If I’m not wrong … the main difference of the opensuse package can be achieved by creating a symlink to the deprecated location.

ln -s ~/.config/mimeapps.list ~/.local/share/applications/mimeapps.list

Reflected by this point at the wiki (emphasis mine):

(also of note are the other points at the link)

There are other examples of applications using this old path.

If the above is satisfactory to you … mayhaps an alternative request would be to include this symlink in the KDE iso profile and/or skel.

Linking the MIME types does not provide for global menu support, which is the main reason why I’m requesting the package inclusion.

Firefox needs to be explicitly patched in order for it to export its application menu to a global menu widget such as the one available in KDE Plasma, whereas Chromium does this without any patching. Likewise for Thunderbird — for those who use it; personally I use KMail. But anyway, Thunderbird also needs to be patched. However, binary versions of the patched Thunderbird do exist in the AUR, whereas for Firefox this is no longer the case, and that’s the problem. :man_shrugging:

These two packages would provide what you are looking for (the helper providing global menu)

The latter is patched by Ubuntu and has support for global menu.

firefox-opensuse-bin does not have global menu support. I’ve looked at its GitHub page.

Yes, but that’s a source-only package, which takes between 4 and 5 hours to build on my own computer here, as I’ve described in my original post. That’s exactly why I’m requesting that a pre-built version of firefox-kde-opensuse — built against Manjaro’s versions of the shared libraries et al — would be included in the Manjaro repo (again).

Yes I know - that is why I noted in the AUR page that kmozillahelper-bin would provide exactly that in companion with the firefox-opensuse-bin - See the pinned comment.

firefox-opensuse-bin is different from the firefox package because it includes various patches by the openSUSE team, including patches to better integrate with KDE (i.e. file dialogs). More info: GitHub - openSUSE/firefox-maintenance

This package is not to be confused with firefox-kde-opensuse. Although both firefox-opensuse-bin and firefox-kde-opensuse provide better KDE integration, the latter has an additional patch from Ubuntu that provides global menu support. More info: · master · Björn Bidar / firefox-kde-opensuse · GitLab

AUR (en) - firefox-opensuse-bin

The reason it has been dumped is likely the maintenace nightmare - all those patches which must be kept in sync.

Nope, it does not. kmozillahelper does the kind of stuff that @cscs spoke about higher up the thread. It does not provide global menu support.

Yes, but that is a source-only package, not the binary package.

@theodan already does all of that. And he even provides a binary package via the Chaotic AUR repo, but that binary package is built against the current versions of the libraries as used by Arch, and is therefore not guaranteed to work in Manjaro Stable.

I see now that I somehow got it wrong.

And I now see where - it was in the comment trail to firefox-kde-opensuse page

For anyone interested, I made a firefox-opensuse-bin package that installs Firefox from openSUSE’s repositories. This version contains all of openSUSE’s Firefox patches (KDE file dialogs, MIME types, etc.) but doesn’t include the Ubuntu global menu patch. There’s also a companion kmozillahelper-bin package.

1 Like

Firefox in macOS has nice global menu support

… he says, with all seriousness;
and an aire of pseudo-Irish logic …

I know, and it’s also far better integrated on macOS than it is on KDE Plasma. But then again, macOS only has one user interface, so the Mozilla developers don’t have to include support for anything else.

Still, it would have been nice if they had included the global menu support by default, given that Plasma isn’t the only desktop environment that supports a global menu. After all, Chrome/Chromium does include it by default.

By the way, that package cannot be retrieved from the openSUSE servers for some bizarre reason, even though it is there — I’ve checked the link in the PKGBUILD, and it is correct.

This problem has existed for quite some time already — I’ve seen it with yet other precompiled packages from openSUSE as well — so I had to use the kmozillahelper source package and build it locally myself. Luckily it’s not a big package, and it only takes about a minute or two to build.

Short answer: no, won’t happen due to reasons.

I’ve been a helpful member of this community for over four and a half years now, the last three and a half years of which I’ve also been a moderator. I currently also hold the highest number of solutions on the forum, and I spend on average 8 to 10 hours a day monitoring the forum — the only exception was when I was in hospital. I therefore think you owe me the long answer.

As I explained higher up already, gathering the patches et al has already been done by the maintainer of that AUR package, so all that Manjaro would really need to do in that regard is have it built against Manjaro’s versions of the shared libraries, which can easily be automated — you already have the infrastructure in place.

So, what is the long version of the answer? What are those “reasons”?

1 Like

My take on the request and possibly part of the longer answer requested

  • the primary concert maintenance burden
  • yes the maintainer of the AUR script did that
  • adding the package to the repo requires a maintainer

Maintaining some that deeply integrates into Firefox requires a lot of effort - one could compare to the effort required to maintain a Gnome shell extension keeping up with Gnome developers.

Without me remembering the package even been in the repo, I recognize that it at some point has been.

I assume was the maintenance required too keep up with Firefox internal changes that cause it to be dropped.

So status is - not in the repo - and according to the above - it is not going to included for the foreseeable future.

If I check the AUR it seems those requested firefox packages are outdated there already: AUR (en) - Packages It seems to come with 32+ patches and as far as I know there is no Maintainer on our end who would have time to dig into that. Any browser we ship with our repositories need to be current and easy to maintain. With this package it seems not the case. So still no from my end.

Has anyone approached the Maintainer of firefox-kde-opensuse (whoever that may be) for their thoughts on contributing to Manjaro?

What about the possibility of a Firefox extension to enable KDE global menu support? There is already a Plasma Integration initiative (thanks to KDE):

Just a few thoughts. Do with them as you will. :wink:

That would be @theodan, and he used to be a member of this forum. He also maintains a Chaotic AUR mirror, where a binary version of firefox-kde-opensuse is available. But the problem is that these packages are compiled against Arch, not against Manjaro Stable.

Well, the way the global menu support in Firefox works is not specific to KDE Plasma. It is a generic mechanism to export the application’s menu via dbus, and Ubuntu created that patch so that Plasma, Xfce (with the Vala Panel), GNOME and Ubuntu’s own (and now defunct) Unity could make use of it.

Furthermore, Firefox is not a qt application — it’s gtk. So it has to use the appmenu-gtk-module — which, if I understand it correctly, is developed by KDE — in order to export its menu to the Plasma global menu widget. Other gtk applications do this as well, although I’m not sure whether gtk4 still supports it, given the design changes in GNOME 45 — I don’t have any gtk4 stuff installed here.

So, doing it by way of a Firefox extension is probably unfeasible, which I think is why the Ubuntu developers chose to patch the code instead.

I already have that one installed, as well as kmozillahelper.

Unstable seems to be as close as Manjaro will ever get to Arch; in some respects. The real issue then, is finding someone willing and able to commit to the undertaking. @theodan is certainly before my time on the forum, but at face value, seems to be the most likely to consider any suggestion of a separate Manjaro instance of firefox-kde-opensuse.

He can only say no; or offer a bag full of words that ultimately mean the same.

No, but KDE might have entertained the idea at some point, being that Plasma Integration, for example, must deal with the gamut of DE’s. At least, that was my working theory when I did some additional digging; however fruitless. The only reference I found to the global menu was KDE_NO_GLOBAL_MENU, which wasn’t helpful at all. :wink: