Closed resiehnnes closed 1 year ago
I'm not too well versed on the differences between how the difference package managers install firefox on Linux, but check that you can find the files from here in either /usr/lib/firefox
or /usr/lib64/firefox
, and that they contain the same ones from the repository.
Firefox related files should also be there, but if flatpak installed them somewhere else, that might be the reason of the problem (Firefox might be loading the config files of where it "usually" is, but it won't find the Firefox files that it should). To find where flatpak installed firefox try with something along the lines of flatpak info --show-location org.mozilla.firefox
on the terminal.
Otherwise some starting places to look at would be /var/lib/flatpak/firefox
and .local/share/flatpak/firefox
.
If that's the case, remove the files that the patcher placed in /usr/lib/firefox
and place them in the flatpak location (paste them in the folder that has a defaults
folder inside it, but not inside the defaults
folder itself), which should make you end up with some new files inside the defaults/pref
folder and config.js outside the defaults
folder
Thank you for very clear instruction.
So what I am doing seems about right. Firefox root folder in my system is located here:
/var/lib/flatpak/app/org.mozilla.firefox/x86_64/stable/active/files/lib/firefox
Both files (config.js + config-prefs.js) are added and placed where they supposed to be I guess. Here is the root folder after applying patch:
$ tree /var/lib/flatpak/app/org.mozilla.firefox/x86_64/stable/active/files/lib/firefox
/var/lib/flatpak/app/org.mozilla.firefox/x86_64/stable/active/files/lib/firefox
├── application.ini
├── browser
│ ├── chrome
│ │ └── icons
│ │ └── default
│ │ ├── default128.png
│ │ ├── default16.png
│ │ ├── default32.png
│ │ ├── default48.png
│ │ └── default64.png
│ ├── crashreporter-override.ini
│ ├── defaults
│ │ └── preferences
│ │ └── default-preferences.js
│ ├── features
│ │ ├── formautofill@mozilla.org.xpi
│ │ ├── pictureinpicture@mozilla.org.xpi
│ │ ├── screenshots@mozilla.org.xpi
│ │ ├── webcompat@mozilla.org.xpi
│ │ └── webcompat-reporter@mozilla.org.xpi
│ └── omni.ja
├── config.js
├── crashreporter
├── crashreporter.ini
├── defaults
│ └── pref
│ ├── channel-prefs.js
│ └── config-prefs.js
├── dependentlibs.list
├── distribution
│ ├── distribution.ini
│ ├── extensions
│ │ ├── langpack-ach@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ach/langpack-ach@firefox.mozilla.org.xpi
│ │ ├── langpack-af@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/af/langpack-af@firefox.mozilla.org.xpi
│ │ ├── langpack-an@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/an/langpack-an@firefox.mozilla.org.xpi
│ │ ├── langpack-ar@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ar/langpack-ar@firefox.mozilla.org.xpi
│ │ ├── langpack-ast@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ast/langpack-ast@firefox.mozilla.org.xpi
│ │ ├── langpack-az@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/az/langpack-az@firefox.mozilla.org.xpi
│ │ ├── langpack-be@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/be/langpack-be@firefox.mozilla.org.xpi
│ │ ├── langpack-bg@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/bg/langpack-bg@firefox.mozilla.org.xpi
│ │ ├── langpack-bn@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/bn/langpack-bn@firefox.mozilla.org.xpi
│ │ ├── langpack-br@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/br/langpack-br@firefox.mozilla.org.xpi
│ │ ├── langpack-bs@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/bs/langpack-bs@firefox.mozilla.org.xpi
│ │ ├── langpack-ca@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ca/langpack-ca@firefox.mozilla.org.xpi
│ │ ├── langpack-cak@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/cak/langpack-cak@firefox.mozilla.org.xpi
│ │ ├── langpack-ca-valencia@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ca/langpack-ca-valencia@firefox.mozilla.org.xpi
│ │ ├── langpack-cs@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/cs/langpack-cs@firefox.mozilla.org.xpi
│ │ ├── langpack-cy@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/cy/langpack-cy@firefox.mozilla.org.xpi
│ │ ├── langpack-da@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/da/langpack-da@firefox.mozilla.org.xpi
│ │ ├── langpack-de@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/de/langpack-de@firefox.mozilla.org.xpi
│ │ ├── langpack-dsb@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/dsb/langpack-dsb@firefox.mozilla.org.xpi
│ │ ├── langpack-el@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/el/langpack-el@firefox.mozilla.org.xpi
│ │ ├── langpack-en-CA@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/en/langpack-en-CA@firefox.mozilla.org.xpi
│ │ ├── langpack-en-GB@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/en/langpack-en-GB@firefox.mozilla.org.xpi
│ │ ├── langpack-eo@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/eo/langpack-eo@firefox.mozilla.org.xpi
│ │ ├── langpack-es-AR@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/es/langpack-es-AR@firefox.mozilla.org.xpi
│ │ ├── langpack-es-CL@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/es/langpack-es-CL@firefox.mozilla.org.xpi
│ │ ├── langpack-es-ES@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/es/langpack-es-ES@firefox.mozilla.org.xpi
│ │ ├── langpack-es-MX@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/es/langpack-es-MX@firefox.mozilla.org.xpi
│ │ ├── langpack-et@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/et/langpack-et@firefox.mozilla.org.xpi
│ │ ├── langpack-eu@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/eu/langpack-eu@firefox.mozilla.org.xpi
│ │ ├── langpack-fa@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/fa/langpack-fa@firefox.mozilla.org.xpi
│ │ ├── langpack-ff@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ff/langpack-ff@firefox.mozilla.org.xpi
│ │ ├── langpack-fi@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/fi/langpack-fi@firefox.mozilla.org.xpi
│ │ ├── langpack-fr@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/fr/langpack-fr@firefox.mozilla.org.xpi
│ │ ├── langpack-fy-NL@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/fy/langpack-fy-NL@firefox.mozilla.org.xpi
│ │ ├── langpack-ga-IE@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ga/langpack-ga-IE@firefox.mozilla.org.xpi
│ │ ├── langpack-gd@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/gd/langpack-gd@firefox.mozilla.org.xpi
│ │ ├── langpack-gl@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/gl/langpack-gl@firefox.mozilla.org.xpi
│ │ ├── langpack-gn@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/gn/langpack-gn@firefox.mozilla.org.xpi
│ │ ├── langpack-gu-IN@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/gu/langpack-gu-IN@firefox.mozilla.org.xpi
│ │ ├── langpack-he@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/he/langpack-he@firefox.mozilla.org.xpi
│ │ ├── langpack-hi-IN@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/hi/langpack-hi-IN@firefox.mozilla.org.xpi
│ │ ├── langpack-hr@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/hr/langpack-hr@firefox.mozilla.org.xpi
│ │ ├── langpack-hsb@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/hsb/langpack-hsb@firefox.mozilla.org.xpi
│ │ ├── langpack-hu@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/hu/langpack-hu@firefox.mozilla.org.xpi
│ │ ├── langpack-hy-AM@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/hy/langpack-hy-AM@firefox.mozilla.org.xpi
│ │ ├── langpack-ia@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ia/langpack-ia@firefox.mozilla.org.xpi
│ │ ├── langpack-id@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/id/langpack-id@firefox.mozilla.org.xpi
│ │ ├── langpack-is@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/is/langpack-is@firefox.mozilla.org.xpi
│ │ ├── langpack-it@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/it/langpack-it@firefox.mozilla.org.xpi
│ │ ├── langpack-ja@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ja/langpack-ja@firefox.mozilla.org.xpi
│ │ ├── langpack-kab@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/kab/langpack-kab@firefox.mozilla.org.xpi
│ │ ├── langpack-ka@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ka/langpack-ka@firefox.mozilla.org.xpi
│ │ ├── langpack-kk@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/kk/langpack-kk@firefox.mozilla.org.xpi
│ │ ├── langpack-km@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/km/langpack-km@firefox.mozilla.org.xpi
│ │ ├── langpack-kn@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/kn/langpack-kn@firefox.mozilla.org.xpi
│ │ ├── langpack-ko@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ko/langpack-ko@firefox.mozilla.org.xpi
│ │ ├── langpack-lij@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/lij/langpack-lij@firefox.mozilla.org.xpi
│ │ ├── langpack-lt@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/lt/langpack-lt@firefox.mozilla.org.xpi
│ │ ├── langpack-lv@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/lv/langpack-lv@firefox.mozilla.org.xpi
│ │ ├── langpack-mk@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/mk/langpack-mk@firefox.mozilla.org.xpi
│ │ ├── langpack-mr@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/mr/langpack-mr@firefox.mozilla.org.xpi
│ │ ├── langpack-ms@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ms/langpack-ms@firefox.mozilla.org.xpi
│ │ ├── langpack-my@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/my/langpack-my@firefox.mozilla.org.xpi
│ │ ├── langpack-nb-NO@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/nb/langpack-nb-NO@firefox.mozilla.org.xpi
│ │ ├── langpack-ne-NP@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ne/langpack-ne-NP@firefox.mozilla.org.xpi
│ │ ├── langpack-nl@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/nl/langpack-nl@firefox.mozilla.org.xpi
│ │ ├── langpack-nn-NO@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/nn/langpack-nn-NO@firefox.mozilla.org.xpi
│ │ ├── langpack-oc@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/oc/langpack-oc@firefox.mozilla.org.xpi
│ │ ├── langpack-pa-IN@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/pa/langpack-pa-IN@firefox.mozilla.org.xpi
│ │ ├── langpack-pl@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/pl/langpack-pl@firefox.mozilla.org.xpi
│ │ ├── langpack-pt-BR@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/pt/langpack-pt-BR@firefox.mozilla.org.xpi
│ │ ├── langpack-pt-PT@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/pt/langpack-pt-PT@firefox.mozilla.org.xpi
│ │ ├── langpack-rm@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/rm/langpack-rm@firefox.mozilla.org.xpi
│ │ ├── langpack-ro@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ro/langpack-ro@firefox.mozilla.org.xpi
│ │ ├── langpack-ru@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ru/langpack-ru@firefox.mozilla.org.xpi
│ │ ├── langpack-sco@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/sco/langpack-sco@firefox.mozilla.org.xpi
│ │ ├── langpack-si@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/si/langpack-si@firefox.mozilla.org.xpi
│ │ ├── langpack-sk@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/sk/langpack-sk@firefox.mozilla.org.xpi
│ │ ├── langpack-sl@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/sl/langpack-sl@firefox.mozilla.org.xpi
│ │ ├── langpack-son@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/son/langpack-son@firefox.mozilla.org.xpi
│ │ ├── langpack-sq@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/sq/langpack-sq@firefox.mozilla.org.xpi
│ │ ├── langpack-sr@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/sr/langpack-sr@firefox.mozilla.org.xpi
│ │ ├── langpack-sv-SE@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/sv/langpack-sv-SE@firefox.mozilla.org.xpi
│ │ ├── langpack-szl@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/szl/langpack-szl@firefox.mozilla.org.xpi
│ │ ├── langpack-ta@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ta/langpack-ta@firefox.mozilla.org.xpi
│ │ ├── langpack-te@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/te/langpack-te@firefox.mozilla.org.xpi
│ │ ├── langpack-th@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/th/langpack-th@firefox.mozilla.org.xpi
│ │ ├── langpack-tl@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/tl/langpack-tl@firefox.mozilla.org.xpi
│ │ ├── langpack-tr@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/tr/langpack-tr@firefox.mozilla.org.xpi
│ │ ├── langpack-trs@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/trs/langpack-trs@firefox.mozilla.org.xpi
│ │ ├── langpack-uk@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/uk/langpack-uk@firefox.mozilla.org.xpi
│ │ ├── langpack-ur@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/ur/langpack-ur@firefox.mozilla.org.xpi
│ │ ├── langpack-uz@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/uz/langpack-uz@firefox.mozilla.org.xpi
│ │ ├── langpack-vi@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/vi/langpack-vi@firefox.mozilla.org.xpi
│ │ ├── langpack-xh@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/xh/langpack-xh@firefox.mozilla.org.xpi
│ │ ├── langpack-zh-CN@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/zh/langpack-zh-CN@firefox.mozilla.org.xpi
│ │ └── langpack-zh-TW@firefox.mozilla.org.xpi -> /app/share/runtime/langpack/zh/langpack-zh-TW@firefox.mozilla.org.xpi
│ └── policies.json
├── firefox
├── firefox-bin
├── firefox-bin.sig
├── firefox.sig
├── fonts
│ └── TwemojiMozilla.ttf
├── gmp-clearkey
│ └── 0.1
│ ├── libclearkey.so
│ ├── libclearkey.so.sig
│ └── manifest.json
├── icons
│ └── updater.png
├── libfreeblpriv3.so
├── libipcclientcerts.so
├── liblgpllibs.so
├── libmozavcodec.so
├── libmozavutil.so
├── libmozgtk.so
├── libmozsandbox.so
├── libmozsqlite3.so
├── libmozwayland.so
├── libnspr4.so
├── libnss3.so
├── libnssckbi.so
├── libnssutil3.so
├── libplc4.so
├── libplds4.so
├── libsmime3.so
├── libsoftokn3.so
├── libssl3.so
├── libxul.so
├── libxul.so.sig
├── minidump-analyzer
├── omni.ja
├── pingsender
├── platform.ini
├── plugin-container
├── plugin-container.sig
├── precomplete
├── removed-files
├── Throbber-small.gif
├── updater
├── updater.ini
└── update-settings.ini
16 directories, 160 files
Meanwhile I'm setting up virtual machine to give it a try on clean Fedora 37
Looks good to me, see if anything in the browser/defaults/preferences/default-preferences.js file may be interfering, and if the copied files have the right user permissions
The content of default-preferences.js is:
/*global pref*/
/*eslint no-undef: "error"*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
pref("intl.locale.requested", "");
pref("app.update.auto", false);
pref("app.update.enabled", false);
pref("app.update.autoInstallEnabled", false);
pref("browser.shell.checkDefaultBrowser", false);
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
Doesn't look sketchy to me but is very different from the one which comes with RPM Firefox.
The files (config.js + config-prefs.js) do have root permission, read only, so seems good.
Problem still exists.
P.S. Same problem trying with clean Fedora in VM
Can you check in about:config
and see if the value general.config.filename
is set to config.js?
It's not quite clear in which config file it's failing exactly
After checking that, use the patcher to remove the patch as a whole, and try adding it manually.
Alright, so after digging a bit more about how flatpak handles installations, it seems that it isolates files so that the method to apply here isn't as straightforward...
According to this bugzilla ticket if you set as root folder in the patcher /etc/firefox
it should work, so you should end up with /etc/firefox/config.js
and /etc/firefox/defaults/pref/config-prefs.js
.
Can you check in
about:config
and see if the valuegeneral.config.filename
is set to config.js?
Yes, all set good here.
After checking that, use the patcher to remove the patch as a whole, and try adding it manually.
Did everything manually, even compared hash numbers of files from github with the ones from patcher, same result and no go...
Alright, so after digging a bit more about how flatpak handles installations, it seems that it isolates files so that the method to apply here isn't as straightforward...
According to this bugzilla ticket if you set as root folder in the patcher
/etc/firefox
it should work, so you should end up with/etc/firefox/config.js
and/etc/firefox/defaults/pref/config-prefs.js
.
I tried with /etc/firefox/ and some other folders like:
/app/lib/firefox/firefox-bin (it is shown as Application Binary folder in about:support, even tho I had to create it) /lib64/firefox (it was there, but maybe leftover from RPM firefox)
In Flatseal I granted to those folders access permission, not sure if it was necessary, but who knows..
Nothing worked, but I never had this error message when launching firefox. It only pops up when scripts are in this location, so this could mean the scripts were not loading at all, or it did but no multi-row tabs.
There has to be something, we're getting close my friend
For what I know, the popup seems to trigger when it can't find the config.js file.
If you completelly remove the patch files (both config.js and config-prefs.js) from the root folder and only place them in /etc/firefox does an error trigger?
Even if multirow doesn't seem to work, you can still see if it's a multirow issue or the config files using this test file (Right click and save as...).
If nothing else it should be obvious after restarting firefox that the patch is kicking in with that file in.
If it doesn't trigger the popup but it still doesn't work, it might also be an issue with the chrome folder being somewhere else due to flatpak as well (it seems like even if firefox says on their about: pages that the profile folder is somewhere, flatpak might be using a completelly different folder).
For example, for someone in reddit this was the location of their profile folder:
If you completelly remove the patch files (both config.js and config-prefs.js) from the root folder and only place them in /etc/firefox does an error trigger?
Been trying this. The error pops up only when config files are placed in 'working' root folder, but it never does when they removed from root and placed only in /etc/firefox
If it doesn't trigger the popup but it still doesn't work, it might also be an issue with the chrome folder being somewhere else due to flatpak as well (it seems like even if firefox says on their about: pages that the profile folder is somewhere, flatpak might be using a completelly different folder).
For example, for someone in reddit this was the location of their profile folder:
Indeed, the path to profile folder is showing wrong in about:profiles page, but the one I am using looks like a valid one (I have arkenfox user.js installed and configured in this folder, and it does work), also, the Multi-Tab patcher is showing correct profile path at start. But the root folder it shows as /usr/lib64/firefox, I tested it out, no go..
Even if multirow doesn't seem to work, you can still see if it's a multirow issue or the config files using this test file (Right click and save as...).
I downloaded the test file, could you lead me where I have to place it and how does it work?
You'd place it inside a folder named "chrome" that you will have to create inside your profile folder. In this folder you'd have to place the utils folder as well from the patcher, so inside "chrome" folder, but outside "utils", which is also inside the "chrome" folder.
It will show red borders everywhere in the browser after you restart the browser with the file placed, making it very obvious to see if the patch is working or not. This is just to test the patch, and you can remove it later once we make sure that the function files are being recognized.
This might also be a given, but make sure that in about:config
you have set toolkit.legacyUserProfileCustomizations.stylesheets
to true.
toolkit.legacyUserProfileCustomizations.stylesheets set to True
This is how my chrome folder looks inside of default profile folder:
[root@**** chrome]# tree
.
├── MultiRowTab-scrollable.uc.js
├── Test.as.css
└── utils
├── chrome.manifest
├── userChrome.jsm
└── xPref.jsm
2 directories, 5 files
So I tried two ways, placing config files in my actual root folder which gives me a warning as usual, but no red borders. Placing config files in /etc/firefox/ - no warning message, no red borders.
This is how my /etc/firefox/ folder looks:
[root@**** firefox]# tree
.
├── browser
│ ├── defaults
│ │ └── preferences
│ └── features
├── defaults
│ ├── config.js
│ └── pref
│ └── config-prefs.js
├── distribution
└── fonts
9 directories, 2 files
The chrome folder looks good, the /etc/firefox folder isn't exactly right. Place the config.js right at /etc/firefox, so not inside the defaults folder, but along all other browser, defaults, distribution and fonts folders.
├── browser
│ ├── defaults
│ │ └── preferences
│ └── features
├── defaults
│ └── pref
│ └── config-prefs.js
├── distribution
├── fonts
└── config.js
Same way as before, check that this is getting set with that setup:
Can you check in
about:config
and see if the valuegeneral.config.filename
is set to config.js?
The chrome folder looks good, the /etc/firefox folder isn't exactly right. Place the config.js right at /etc/firefox, so not inside the defaults folder, but along all other browser, defaults, distribution and fonts folders.
My bad, I fixed that in /etc/firefox/ but nothing changed. The actual root folder was correct, but I tried one more time and it's same as in my previous comment.
Can you check in
about:config
and see if the valuegeneral.config.filename
is set to config.js?
Alright, good, at least it means that it's reading the files from /etc/firefox, so we can consider that part correct for now...
It doesn't seem to be reading the patch files of the profile, so we should make sure that we are placing it on the right folder inside the profile folder.
The easiest way right now would be changing the name of test.as.css
to userChrome.css
and see if changes are being applied after a Firefox restart. Since it's a built-in thing of Firefox it should work even if the patch doesn't as far as we are placing the files in the right folder.
The easiest way right now would be changing the name of
test.as.css
touserChrome.css
and see if changes are being applied after a Firefox restart. Since it's a built-in thing of Firefox it should work even if the patch doesn't as far as we are placing the files in the right folder.
Yes, after renaming test file I can clearly see it's working (red boarders)
I'm quite confused as to why it isn't working if everything is in the right place, but maybe it has to do with Firefox thinking the profile folder is somewhere else, since config.js tells it to fetch the files from the profile, which Firefox might not even know that it's not looking in some isolated location...
In about:support
you mentioned it said the binary path, but it should also show the profile path that Firefox sees.
Try recreating the {profile-folder-path}/chrome/{utils folder and other .css/.js files here} setup with the profile that firefox is showing there and see if that helps. To test that change the name of userChrome.css back to test.as.css, just to make sure it's its the actual patch.
I am very grateful for your help despite we didn't figured out the problem yet :-)
So here are some screens so you can see it yourself how everything looks:
about:profiles :
about:support :
Actual root folder is located here:
/var/lib/flatpak/app/org.mozilla.firefox/x86_64/stable/active/files/lib/firefox
Actual profile folder is located here:
/home/****/.var/app/org.mozilla.firefox/.mozilla/firefox/j5g0wozr.default-release
Try recreating the {profile-folder-path}/chrome/{utils folder and other .css/.js files here} setup with the profile that firefox is showing there and see if that helps. To test that change the name of userChrome.css back to test.as.css, just to make sure it's its the actual patch.
I think I already tried it before but I will give one more go and report back
So I created this folder structure /home/****/.mozilla/firefox/j5g0wozr.default-release because there was none and placed script files in chrome folder:
[root@**** .mozilla]# tree
.
└── firefox
└── j5g0wozr.default-release
└── chrome
├── MultiRowTab-scrollable.uc.js
├── Test.as.css
└── utils
├── chrome.manifest
├── userChrome.jsm
└── xPref.jsm
5 directories, 5 files
[root@a-name .mozilla]#
Nothing changed, old story.
I'm going to rest my friend, thanks for helping me out, hopefully we solve it out soon :-) Goodnight!
Well, I checked if there was some issue with the files of the patch, and it seems like FF108 has caused some issues on linux distros, which have been fixed now, so I updated the dependencies and reuploaded the patcher and the files.
Try using the patcher when you can with the root folder from /etc/firefox and the chrome folder from flatpak (not the one from /home/****/etc...
Ok, so I rolled up clean Fedora 37 in VM, downloaded updated Multi-Tabs patcher and made bunch of tests with different Firefox installations:
Firefox (stock, .rpm) 109.0 Firefox (flathub's, .flatpak) 109.0 Firefox (fedora's, .flatpak) 109.0
... also I tested how /etc/firefox/
folder is involved here.
First I patched Firefox (.rpm) which was pre-installed in the distro. Patcher found correct locations for root and profile.
Root folder location:
/lib64/firefox
Profile folder location:
/home/bob/.mozilla/firefox/szexphca.default-release
Note:
There was empty /etc/firefox/pref
folder already in the system.
Summary: All went smooth and worked without tinkering.
After that I uninstalled Firefox and checked if /etc/firefox/
is still there but it got removed.
Next I installed Firefox (fedora's, .flatpak) which is different in some way (compiling?) to the one I'm using on my PC. Patcher recognized only profile folder, while root folder I had to locate myself.
Root folder location:
/var/lib/flatpak/app/org.mozilla.Firefox/x86_64/stable/active/files/lib64/firefox
Profile folder location: (showed correctly in about:profiles) (see ' Note')
/home/bob/.mozilla/firefox/12ho3m5v.default-release
Note:
/etc/firefox/
folder did not appeared after installing this Firefox.
*Note:
This is probably the reason why Firefox can read and open valid profile folder in about:profiles because it has access to it (~/.mozilla:create
) which you can see in the image below (app name is Flatseal, gui to control permissions for flatpak apps)
If I remove this path (~/.mozilla:create
) in Flatseal and restart Firefox it will create and use a new profile in this folder instead:
/home/bob/.var/app/org.mozilla.Firefox/cache/mozilla/firefox/a1mrepy0.default-release
Summary: No go, same error pops up when launching with no multi-tabs despite which profile folder I am patching.
Uninstalled.
Now I installed Firefox (flathub's, .flatpak) which I use on my current PC and which was working fine with Multi-Tabs till 107 or 108 version.
Root folder location:
/var/lib/flatpak/app/org.mozilla.firefox/x86_64/stable/active/files/lib/firefox
Profile folder location: (showed incorrectly in about:profiles) (see ' Note')
/home/bob/.var/app/org.mozilla.firefox/.mozilla/firefox/mb52jgyc.default-release
Note:
/etc/firefox/
folder did not appeared after installing this Firefox.
*Note:
This version of flatpak's Firefox does not have any access permissions showed in Flatseal, so no wonder why it does create profiles in unusual location instead of more common /home/bob/.mozilla/firefox/
What comes interesting here, if I add ~/.mozilla
access in Flatseal and create '/home/.mozilla/firefox' path then after launching Firefox it will create a new profile in this folder and use it instead of one located here:
/home/bob/.var/app/org.mozilla.firefox/.mozilla/firefox/mb52jgyc.default-release
Summary: No go, same error pops up when launching with no multi-tabs despite which profile folder I am patching.
So here you go, I tried lots of different ways to make it work (some I don't even mention here because there's too many), mostly copying/pasting here and there and giving folder permissions in Flatseal.
One more thing to note, general.config.filename
string is empty by default and sets to config.js
whenever there is config.js file located in actual root folder, but this string gets empty again if it's in /etc/firefox/
for example.
Go figure.... :-)
Placing the root folder files in the actual root folder of flatpak always fails, so no point on placing them there anymore, it will just give you an error because it won't be able to read config.js file, as stated on the bugzilla from earlier comments.
Placing the files in /etc/firefox is the way to go, it was even mentioned in some of the lastest issues of xiaoxiaoflood's repository, which is the one we get the patch files from, and the snap forum that was linked in the bugzilla previously mentioned.
I am not sure why in one of those last attempts on the VM general.config.filename
was set as empty, but it was working in the lastest test we did:
The chrome folder looks good, the /etc/firefox folder isn't exactly right. Place the config.js right at /etc/firefox, so not inside the defaults folder, but along all other browser, defaults, distribution and fonts folders.
My bad, I fixed that in /etc/firefox/ but nothing changed. The actual root folder was correct, but I tried one more time and it's same as in my previous comment.
Can you check in
about:config
and see if the valuegeneral.config.filename
is set to config.js?
Make sure that the root files are only on /etc/firefox, without any left over on the actual root folder of firefox, and the profile files are in the profile location where your arkenfox file was working (but inside the chrome folder instead).
After clean FF install before applying Multi-Tab patch the general.config.filename
string is empty. So I edit it to config.js
as in your last comment. After that I place config.js
and config-prefs.js
in /etc/firefox
folder, so it looks like this and there's nothing else, only two files and two folders:
[bob@fedora etc]$ tree
├── firefox
│ ├── config.js
│ └── defaults
│ └── pref
│ └── config-prefs.js
Script files I keep in my profiles folder here (I removed everything else to keep focus on files and folders we are working with):
[bob@fedora g3ptixkf.default-release]$ tree
.
├── chrome
│ ├── MultiRowTab-scrollable.uc.js
│ └── utils
│ ├── chrome.manifest
│ ├── userChrome.jsm
│ └── xPref.jsm
As you can see 'chrome' folder is located in 'g3ptixkf.default-release' which is my profiles folder.
Does everything looks good, or I am totally missing something? I just can't get it work and am feeling clueless. Probably I miss something here..
Do I have to give permission to access 'etc/firefox' folder in Flatseal or Firefox does have access by default? Either way nothing changes.
Your setup looks good, but it looks like it's a flatpak issue after all, as seen here. It seems like in snap the issue doesn't seem to be a problem.
The reason why it worked for you before is that Firefox for flatpak and snap worked out of the box before 108, but Mozilla introduced the new way of locating the files after that version, as per the bugzilla.
At this point it doesn't matter what we try, since the file won't be read until flatpak fixes the issue, so either you use snap, or use the default installation method of Firefox, since the only way for config.js to be read would be for it to be readable from the root folder (which it isn't for flatpak nor snap after 108), or read it from /etc/firefox (which it can't in flatpak due to /etc folder being blacklisted for file access)
I even created a VM with Fedora 37 and tried a few combinations as well, but while it reads userChrome, what it doesn't read is indeed the config.js file altogether. Oddly enough it reads the config-prefs.js file if you place it in the actual root folder as you were doing before, which is why it triggers the popup (It recognizes that it should look for config.js, but it can't access it for some reason, nor can't we expose it since flatpak can't expose /etc/firefox currently. Flatseal also won't be able to expose the /etc folders since it's a blacklisted folder to expose on flatpak), so... yeah, not much we can do about it.
I see, it is unfortunate, but at least there is a way to have your tool working with .rpm Firefox. I will keep an eye on this problem with future flatpak and firefox updates and let you know if something comes up. If it's ok for you we can keep this topic opened if someone comes with solution or any news regarding this issue.
Thank you for taking your time to help me out, I appreciate it. Have a wonderful weekend.
Since this isn't even the repository of multirow I'd rather close this, since it will only cause confusion. Besides, I wasn't even suposed to give support after archiving the other repository, since the point was to stop working on it.
If there is any new fix in the future feel free to reopen this tho, and I'll append the fixes to the wiki of the other repository.
I've been using this essential tweak for some years now, and it was working great with flatpak Firefox but totally stopped after Firefox updated to new version (unfortunately don't remember version number) which happened some months ago. After applying Multi-row patch and starting Firefox I get this warning: After accepting it Firefox starts as usual and everything works except I don't have multi-rows.
Reinstalling didn't helped. I also tried another flatpak version which comes as Fedora flatpak, no luck.
My specs:
Fedora 37 Firefox 109.0 (flatpak, flathub) Multi-row tabs 1.8.8