Almost Mac-like touchpad scrolling in Firefox and Thunderbird on Ubuntu 22.04
Some time ago, I spent some time trying to configure scrolling in Firefox on
Ubuntu 20.04.
At the time I discovered Pavel Fatin’s
recommendation to
launch Firefox with the environment variable MOZ_USE_XINPUT2=1 set. This was
a good start, but scroll acceleration was still wonky, and kinetic scrolling
was non-existant.
Recently, I updated to Ubuntu 22.04 on Wayland, and discovered a couple of about:config tweaks which render the previous workaround redundant,
and result in a much closer approximation of Mac-like scrolling, including both smooth scrolling and kinetic (inertial) scrolling.
The one missing feature is a hold gesture to instantly stop the inertial scrolling, but a quick scroll in the opposite direction works almost as well.
There is one caveat: This only works in the traditional .deb package version of Firefox.
If you’re using snaps, you can have the smooth scrolling, but not the kinetic scrolling. :(
Show me the configs already!
-
Make sure you’re using the
.debversion of Firefox. (Instructions adapted from OMGUbuntu:sudo snap remove firefox sudo add-apt-repository ppa:mozillateam/ppa echo ' Package: * Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001 ' | sudo tee /etc/apt/preferences.d/mozilla-firefox distro_codename=$(grep UBUNTU_CODENAME /etc/os-release | cut -d = -f 2) echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox -
Go to
about:configin Firefox and enable the following options:apz.gtk.kinetic_scroll.enabled=trueapz.overscroll.enabled=true- And… one more setting that I don’t recall, because Firefox restarted when I installed the deb version, and I lost all my recent tabs!
It was something that encouraged Firefox to use the built-in GTK scrolling, rather than reinventing the (scroll)wheel.
I think it might have been:
apz.gtk.pangesture.enabled=true
And… I think that’s it! If three-finger drag gets implemented in libinput, I’ll be running out of excuses for staying on Mac!
Update 2022-11-22:
The following tweaks make it even better:
general.smoothScroll.mouseWheel.durationMaxMS=500general.smoothScroll.mouseWheel.durationMinMS=250mousewheel.acceleration.start=1mousewheel.default.delta_multiplier_x=10mousewheel.default.delta_multiplier_y=10mousewheel.default.delta_multiplier_z=10
Thanks to Nitesh Kumar from Linux Hint for the general.smoothScroll.mouseWheel.duration* suggested values.
Thunderbird
You can also set most of these tweaks in Thunderbird using the Config Editor.