Firefox (Nightly) and the case of the fading scrollbars on Unix

February 28, 2022

For reasons beyond the scope of this entry, I run a self-compiled Firefox that's built from the latest Firefox development sources (as of when I build or rebuild it). Recently, I've noticed that my scrollbars have been flickering. At first I didn't clearly see what was going on; later, I realized that the 'flickering' was that the scroll bar would disappear after a while if I didn't move the mouse, then reappear the moment I nudged it even slightly or used the scroll wheel.

I find this sort of behavior quite irritating. I don't like things flickering in and out of visibility any more than I like blinking cursors, because my eye is reflexively distracted by change. It's slightly more tolerable now that I know what's actually causing it and it no longer feels random, but I still want it to go away. Today, having identified it, I managed to track down what's going on.

In recent versions of Firefox Nightly, there's a new exposed Preferences setting in the "General" section for "Always show scrollbars". This corresponds to the new about:config setting 'widget.gtk.overlay-scrollbars.enabled'. Based on the name, this is specific to the GTK widget toolkit, which I believe Firefox only uses on Unix (although I think both for X and Wayland). This preference defaults to 'true' in Nightly, which means to not always show scrollbars. In addition, when scrollbars are shown they're narrower than the current Firefox version.

Turning this off mostly works, but not entirely. On at least the "Preferences" pages, scrollbars will still fade out once and then immediately reappear. If you move the mouse or use the scrollwheel, this resets things and the next time you pause, the scrollbars will once again fade out then pop back in. Since this behavior makes me a bit nervous, I'm not going to disable these fading scrollbars right away, although maybe I should since it seems to create problems interacting with web pages in some circumstances (cf bug #1756831).

(This change appears to have landed recently, and see also bug #1147847.)

In the Firefox way, I wouldn't be surprised if these fading "overlay" scrollbars eventually became mandatory instead of something you could still turn off. Some UI choices linger in Firefox for a long time and still work the old way, but in modern Firefox, a lot of the time an optional but 'defaults to on' new UI element eventually becomes your only choice.

(Sometimes this is because the old way is no longer supported; sometimes this is because the old way gets broken and no one gets around to fixing it.)

Comments on this page:

From at 2022-03-01 07:21:24:

Sounds like they're planning to honor the OS-wide setting in Windows at least – so I would expect them to likewise honor the OS-wide (well, at least GTK-wide) setting in Linux as well:

gsettings set org.gnome.desktop.interface overlay-scrolling true

It seems that GTK 4 still pays attention to the GSettings knob, even if they no longer look at the environment variable.

Written on 28 February 2022.
« Python's os.environ is surprisingly liberal in some ways
The problem of keeping track of hardlinks as you traverse a directory tree »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Mon Feb 28 22:20:53 2022
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.