How I experienced the FireFox (FF) Quantum update,
delivered with version 57,
on Arch Linux.
You may be most interested
in the Migration Cheat Sheet.
The following was written over multiple days, with the intention of both being a backup guide for myself (since I do this on two systems) and as a guideline or information base for others running into similar problems or situations based on the addons they use.
Note: My previous FF profile was at least 3 years old and had been used on Windows prior. It had accumulated some cruft over the years, which is why I decided to start anew for this update.
Stylish has started to update itself to a quantum-compatible webextension. It complains about ~80% of my styles being incompatible, despite some of them only affecting websites and not the browser itself. Probably a syntax thing. (The problem with the Stylish update is that my tabs become unreadable, since I manually modified TreeStyleTab's colors to match my dark gtk theme, and some other addon makes the tab's colors white.)
After downgrading, I tried to disable auto-updates for Stylish,
but FireFox freezes (with 100% CPU on a single core)
whenever I try to open about:addons
.
The author of the Image Search Options add-on has finalized his webextension (WE from now) port and asks for feedback regarding the update in IRC. I offered to help, but cannot export my current settings due to issue mentioned above, so I just don't do anything.
I decide that I don't have enough time at hand to perform an upgrade
and refuse to run pacman -Syu
.
I pray that whatever package I need to install in the near future
has not been updated since my last sync.
Stylish keeps getting updated every second FF restart.
Stylish keeps getting updated every second FF restart.
I decide that this cannot keep going on and try to look for ways to have two installations of FF in parallel. The solution is download a build from here and run it as follows:
$ ./firefox -no-remote -profile "path/to/custom/profile"
Don't forget to disable auto-updates before you close this FF.
Started looking for alternatives of incompatible addons (and some generally considered better alternatives). Initially doing this on my laptop with significantly fewer addons and open tabs. The results of this (and all the later steps) was compiled into the Migration Cheat Sheet below.
Moving onto my desktop, I start by making a backup and manually getting a portable 57 (not using my package manager). I then started installing various addons and moving profile-related data to the new profile manually. See below for details.
Later that day,
I also updated my system firefox
and added a firefox56
script
that would launch my old profile
with a separate old FF version,
portably using the method described above.
A weird discovery was the creationDate
property shown in about:telemetry
.
On my old profile it shows 16339
while the newly create one shows 17486
.
I only found information about this field
in this bug ticket,
but I have no clue how the data is interpreted.
Could join the referenced IRC channel if interested.
Disabled browser.cache.disk.enable
to only cache in RAM.
Overall, I'm pretty satisfied with the result. Startup speed (especially session restoration) tanked significantly after I installed my addons and a couple userscripts, so I might need to take a look at which particular addon might cause this or whether this is the result of a combination of those. Other remaining issues can be found at the end of this page.
https://github.com/Aris-t2/CustomCSSforFx#suggested-ui-tweaks
Foxy Gestures -> Gesturefy
It has Rocker gestures
(and allows configuring the mouse button to press).
Saka Key -> Vimium-FF
Respects related tab openings (for TST trees).
Also shows a tooltop for when actions are performed
(liky copying to clipboard)
and has vomnibar,
which works better than Saka by far.
Information about files inside profiles: https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data
I imported my session via TreeStyleTab
and had my bookmarks synced.
History and search engines were restored manually
by copying places.sqlite
and search.json.mozlz4
respectively.
I didn't care about any of the other files.
I will probably defragment places.sqlite
in the near future
using a tool named profile-cleaner
,
considering this hasn't happened in years.
Details can be found on the Archwiki page.
I will list every add-on that involved more migration than "reinstall this and change a couple settings" below, or those I didn't find replacements for. All other addons were either trivial to migrate or I stopped using them and didn't consider them useful anymore.
In case you cannot view the installed addons on about:addons
like me,
they are also listed in about:telemetry
,
albeit with a lot more noise.
-
Greasemonkey → Tampermonkey
Import scripts: Tampermonkey/tampermonkey#306
/data/Backup/tmp/92gvd0f2.default_old/gm_scripts -
Stylish →
Stylus(still haven't used this)
For browser modifications, useuserChrome.css
.Some resources:
https://wiki.archlinux.org/index.php/Firefox/Tweaks#Appearance
https://github.com/eoger/tabcenter-redux/wiki/Custom-CSS-tweaks
https://www.reddit.com/r/FirefoxCSS/
https://github.com/Timvde/UserChrome-Tweaks
https://www.reddit.com/r/firefox/comments/7dvtw0/guide_how_to_edit_your_context_menu/ -
FireGestures →
Foxy Gestures→ Gesturefy
UserScript(s) to port: https://gist.github.com/FichteFoll/a157454c4d41b9eb034d5d0d22e1274d
Blocked on Linux by: https://bugzilla.mozilla.org/show_bug.cgi?id=1360278
Update: fixed on beta build -
VimFx → Saka Key → Vimium-FF
Other alternatives (untested): QuantumVimSeems like addons are disabled on various
about:
pages, includingabout:newtab
, which is a nuisance.For better half-page scrolling, increase
layout.css.scroll-behavior.spring-constant
inabout:config
(I chose 400). -
TreeStyleTab → TreeStyleTab (update)
https://github.com/piroor/treestyletab/wiki/How-to-convert-session-information-from-old-TST-0.19.x-to-new-TST-2.x
Performs quite well, but the grey background is annoying. Will fix with custom CSS later.Remember to hide the normal tab bar. See TST's config for a link with more information.
-
KeeFox → Kee (update)
-
SessionManager → Tab Session Manager
-
NoScript →
update?→ uMatrix
Even more fine-grained control of allowed elements and per-website profiles.
Manual Backup and Restore:
- RedditEnhancementSuite
- 4Chan-X (userscript)
- Onee-chan (userscript)
No replacements available for:
- Menu Wizard
-
VimFx/FireGestures bindings to open URLs in mpv.
Previously, I added these via custom scripts, but currently you cannot access the OS (and spawn processes) from within WebExtensions. The only workaround seems to be a locally hosted server that a WE can XmlHttpRequest to and use as a proxy. The "Open in" addon suite does this with a node-powered "application": https://add0n.com/open-in.html.
-
Foxy Gestures are basically unusable on Linux (and OSX) currently.Update: Fixed since
ui.context_menus.after_mouseup
was added and backported to Arch Linux's firefox package.https://bugzilla.mozilla.org/show_bug.cgi?id=1360278
marklieberman/foxygestures#67
marklieberman/foxygestures#109 -
Some Saka Key inconveniences regarding visual feedback and launching mpv.
-
Menu Wizard
No replacement for this, and I doubt there ever will be.