TL;DR at the bottom.
The general trackpad situation on a modern laptop with GNOME on Wayland is fantastic, these days! The only things I still tweak, are scroll sensitivity in libinput
for GTK3 applications, and for Firefox. Both for the same reason: they scroll way too fast. I want the good ol' page-sticks-to-my-fingers scroll experience.
When I set up my new work laptop recently, I realized two things. Firstly, that my go-to trackpad settings were still not turned on by default in Firefox (as of Firefox 124.0), and secondly, that these settings are pretty hard to find if you don't know what you're looking for.
The 'Pixel-based' Delta Mode
Mozilla added a new 'pixel-based' scrolling mode to Firefox, two years ago, in response to users' complaints about too fast scrolling on Wayland. The pixel-based kinetic_scroll.delta_mode
will calculate deltas on a per-pixel basis, allowing for more granular control of the scrolling speed.
To turn it on, switch this delta_mode
to 2
for both kinetic_scroll
and pandgesture
settings. (Copy the following to your user.js or search for the settings in about:config
)
user_pref("apz.gtk.kinetic_scroll.delta_mode", 2);
user_pref("apz.gtk.pangesture.delta_mode", 2);
There's a modifier for both deltas, called pixel_delta_mode_multiplier
that sets the pixels per movement, effectively allowing for granular control of the sensitivity of each 'swipe'. If you like the default speed with this new mode turned on, you don't need the modifier. For me, this was still too fast, so I reduced both scrolling and panning to 20
.
user_pref("apz.gtk.kinetic_scroll.pixel_delta_mode_multiplier", "20");
user_pref("apz.gtk.pangesture.pixel_delta_mode_multiplier", "20");
Asynchronous Panning and Zooming (APZ)
The settings under the apz
prefix looked all pretty interesting, so I started experimenting with other settings. Another one I can recommend is:
user_pref("apz.overscroll.enabled", true);
This will add an overscroll animation on the top and bottom of the page, giving a nice visual feedback when you reached the end of a page.
TL;DR
If Firefox scrolls too fast for your taste on Wayland, add these to your user.js or change them in about:config
.
user_pref("apz.gtk.kinetic_scroll.delta_mode", 2);
user_pref("apz.gtk.pangesture.delta_mode", 2);
user_pref("apz.gtk.kinetic_scroll.pixel_delta_mode_multiplier", "20");
user_pref("apz.gtk.pangesture.pixel_delta_mode_multiplier", "20");
user_pref("apz.overscroll.enabled", true);