Vollständige Scrollbar in Firefox und TorBrowser unter Linux

Januar 2019, Update Oktober 2022

Die neueren Varianten von Firefox und TorBrowser (bis FF 100) haben eine unvollständige Scrollbar unter Linux, es fehlen die "Pfeilbuttons" oben und unten. Grund ist der Wechsel von GTK2 zu GTK3 für die Programmierung der Browser-GUI vor einiger Zeit und die Default-Einstellungen von GTK3 (was wohl auch noch abhängig vom Theme sein kann, hab ich aber nicht geprüft). Abhilfe ist relativ einfach:

Für Firefox (und alle anderen GTK3-basierten Anwendungen) kann man für den jeweiligen User die Defaults einstellen. Dazu erstellt man eine Datei mit dem Namen "gtk.css" im Verzeichnis
/home/<deineigenerusername>/.config/gtk-3.0/
Inhalt der Datei:
scrollbar, scrollbar button, scrollbar slider {
-GtkScrollbar-has-backward-stepper: true;
-GtkScrollbar-has-forward-stepper: true;
min-width: 25px;
min-height: 25px;
border: 1px solid #909090;
border-radius: 0;
}

scrollbar slider {
background: theme_bg_color;
}
scrollbar slider:hover {
border-color: #4080d0;
}
"-GtkScrollbar-has-...ard-stepper: true;" steuert die Sichtbarkeit der Pfeil-Buttons oben und unten an der Scrollbar.

"min-width: 25px;" steuert die Breite der Scrollbar. Standardmässig ist sie nur wenige Pixel breit. Spart zwar Platz, aber bei Bildschirmen mit sehr hoher Auflösung nimmt die Treffsicherheit beim darauf klicken doch merklich ab. Hiermit kann man gegensteuern.

Mit den "border"-Einstellungen kann man noch eine optische Abgrenzung zwischen dem Fensterinhalt und der Fläche der Scrollbar einstellen. Die Farbe hinter dem "#" ist ein sedezimal RGB-Wert: #RRGGBB, d.h. die ersten 2 Zeichen definieren den Rot-Anteil, die mittleren 2 den Grün-Anteil und die letzten beiden sagen, wieviel Blau enthalten sein soll. "FF0000" wäre z.B. ein Knallrot. Vielleicht nicht ganz die erste Wahl ;-)

Am besten einfach mal die Werte ändern, den Browser neu starten und sehen, wie sich das Aussehen ändert...

Für den TorBrowser gilt prinzipiell genau das selbe, der TorBrowser ist ja nur ein modifizierter Firefox. Der zieht sich die Einstellungen allerdings nicht aus den generellen Einstellungen des angemeldeten Users, sondern bringt - auch aus Sicherheitsgründen - seine eigenen mit. Die gtk.css muss man hier ins Verzeichnis .../Browser/.config/gtk-3.0/ der TorBrowser-Installation stellen.

A C H T U N G: Änderungen an den Konfigurationen des TorBrowsers KÖNNEN dazu führen, dass man als User anhand der Browser-Eigenschaften "wiedererkannt" werden kann im Sinne einer Nutzerverfolgung/eines Trackings. Und wenn man sehr spezielle Änderungen vorgenommen hat und neben Tor-Webseiten auch noch anderweitig surft, womöglich bei Webseiten, bei denen man sich auch noch per Login identifiziert, rückt eine De-Anonymisierung in greifbare Nähe. Im Zweifel belässt man es bei den mitgebrachten Einstellungen. Use at your own risk!!!

Update Oktober 2022

Nachdem ich es lange ignoriert habe, geht es mir inzwischen wieder auf den Keks. Mozilla hat ab FF 100 wieder am Design geschraubt und für die Scrollbalken etwas eigenes definiert, so dass die im darunter liegenden System gemachten Einstellungen nicht mehr wie oben beschrieben wirken. Der Tip oben ist damit (fast) obsolet. Die super dünnen Scrollbalken, die erst breiter werden, wenn man sie zufällig mit der Maus trifft, lassen sich aber überarbeiten. Eine Anleitung dazu gibts hier.

Ich verwende nun folgende FF-interne Einstellungen in about:config (Änderungen gegenüber dem Default in 102.3.0esr):

  • widget.non-native-theme.gtk.scrollbar.round-thumb = false (Damit wird die Scrollbar wieder eckig)
  • widget.non-native-theme.scrollbar.size.override = 20 (Stellt die Breite der Scrollbar in Pixel im verbreiterten Modus ein, also im Zustand "Maus ist über Scrollbar")
  • widget.gtk.overlay-scrollbars.enabled = false (Verhindert das schmaler-werden der Scrollbar wenn sie nicht von der Maus berührt wird)
  • widget.non-native-theme.gtk.scrollbar.allow-buttons = true (Erlaubt die Pfeile an der Scrollbar)
Damit die Pfeile erscheinen, müssen sie wie oben beschrieben in den GTK-Settings eingeschaltet werden. Der in gtk.css einzutragende Inhalt reduziert sich auf die folgenden Zeilen:
scrollbar, scrollbar button, scrollbar slider {
-GtkScrollbar-has-backward-stepper: true;
-GtkScrollbar-has-forward-stepper: true;
}