staging.inyokaproject.org

Firefox 104.0: Scrollbar ohne Stepper(Buttons)

Status: Ungelöst | Ubuntu-Version: Xubuntu 22.04 (Jammy Jellyfish)
Antworten |

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Ich überlegte, den alten Thread über den Firefox Scrollbalken wieder zu beleben, habe mich aber dagegen entschieden, da das Problem nun bei Version 22.04.1 auftaucht.

Die seit 22.04. nutzbaren Firefox Varianten (z.B. 104.0) werten die Informationen in "~/.config/gtk-3.0/gtk.css" nicht mehr aus. Somit ist die Befürchtung von juribel (s. Post) leider eingetreten.

Andere Applikationen zeigen bei mir den Scrollbalken mit Steppern (Scrollbar-Buttons) korrekt an, wie dies auch Firefox unter Xubuntu 20.04 noch tat. Jetzt ist leider nur der abgerundete Scrollbalken ohne die Stepper-Buttons zu sehen, obwohl in "about:config" unter "widget.non-native-theme.gtk.scrollbar.allow-buttons" der Wert auf "true" steht.

Daher meine Fragen:

  • Nutzt Firefox überhaupt noch gtk-3.0?

  • Hat jemand Firefox (>103.*) bei sich am Laufen mit einem Scrollbalken, der die Scrollbar-Buttons zeigt?

  • Hat der Eintrag "widget.non-native-theme.gtk.scrollbar.allow-buttons" eventuell eine andere Bedeutung und funktionierte vorher nur zufällig für die Scrollbar-Buttons?

Übrigens: Mit dem aktuellen Google-Chrome Programm (104.0.5112.101) werden die Scrollbars mit Stepper(Buttons) korrekt (wie in gtk.css definiert) dargestellt. Bedeutet dies, dass das Firefox/Mozilla-Team die Anwender dazu bewegen will statt Firefox nun Google-Chrome zu nutzen?

umbhaki Team-Icon

Supporter
Avatar von umbhaki

Anmeldungsdatum:
30. Mai 2010

Beiträge: 2611

Hallo shiro,

hier Firefox beta (derzeit 104) und nightly (105) aus den tar.gz-Archiven von Mozilla direkt mit Xubuntu 22.04. Die Scrollbar-Buttons lassen sich hier in beiden Versionen ebenfalls nicht aktivieren.

"widget.non-native-theme.gtk.scrollbar.allow-buttons" steht bei mir ebenfalls auf »true«, ohne Erfolg. Eine andere denkbare Einstellung unter dem Suchbegriff »scrollbar« habe ich nicht gefunden.

Eine technische Erklärung dafür weiß ich nicht, aber das hier:

Bedeutet dies, dass das Firefox/Mozilla-Team die Anwender dazu bewegen will statt Firefox nun Google-Chrome zu nutzen?

glaube ich ja eher nicht. ☺

undine

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo shiro,

wie hast deinen Du Firefox 104.0 installiert?

Mit snap oder mit dem mozilla ppa?

Vermutlich per ppa, weil das Team Firefox/Mozilla-Team erwähnst.

Teste doch mal die snap Version.

https://snapcraft.io/firefox

latest/candidate 104.0-3 19 August 2022

Greetz

undine

shiro Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

@undine: Ich habe mehrere Xu22.04 Versionen installiert. Bei einer Variante läuft Firefox mit snap, bei einer mit Flatpak und die für den täglichen Gebrauch ist über PPS installiert.

Alle zeigen das gleiche Verhalten.

Eine Frage kann ich bereits beantworten. Per strace kann man sehr schön sehen, dass Firefox immer noch gtk-3.0 verwendet (z.B.: /lib/x86_64-linux-gnu/libgtk-3.so.0). Nichts aber deutet in der Ausgabe darauf hin, dass auf gtk.css (oder ähnliches) ein access versucht wird.

@umbhaki: Wenn auch die 105 Version (nightly) das Problem noch nicht beseitigt hat, deutet das darauf hin, dass es durch Mozilla entweder noch nicht gesehen oder ignoriert wird. Da mein letzter Satz eher sarkastisch gemeint war, werde ich mal bei Mozilla im Web nachschauen, ob das Problem dort zumindest registriert wurde.

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1269

Hallo,

es ist seltsam. Bei mir läuft Firefox 104.0 (Mozilla, nicht snap), und die Einstellung bei "widget.non-native-theme.gtk.scrollbar.allow-buttons" bewirkt bei mir genau dies: die buttons werden unmittelbar angezeigt oder nicht, wenn man Einstellung ändert (true oder false).

Einstellungen in der Datei ""~/.config/gtk-3.0/gtk.css"" scheinen tatsächlich wirkungslos zu sein.

Allerdings habe ich Einstellungen vorgenommen in meinem Firefox-Profil. Dort gibt es einen Ordner "chrome" mit einer Beispieldatei "userChrome-example.css". Diese habe ich nach "userChrome.css" in demselben Ordner kopiert und Änderungen vorgenommen, z. B. was das Aussehen der Tabs angeht. Diese Einstellungen zeigen bei mir Wirkung. Änderungen an den Scrollbar-Buttons und -Slider wirken jedoch nicht, aber vielleicht haben sich die Namen ja wirklich geändert.

Grüsse, juribel

dingsbums

Anmeldungsdatum:
13. November 2010

Beiträge: 3793

about:config

widget.non-native-theme.gtk.scrollbar.allow-buttons true

Vielleicht kollidiert das jetzt mit Einstellungen in der gtk.css. Würde ich da mal entfernen.

shiro Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

juribel schrieb:

Bei mir läuft Firefox 104.0 (Mozilla, nicht snap), und die Einstellung bei "widget.non-native-theme.gtk.scrollbar.allow-buttons" bewirkt bei mir genau dies: die buttons werden unmittelbar angezeigt oder nicht, wenn man Einstellung ändert (true oder false).

Wow! Das sind ja interessante Informationen. Jetzt gilt es nur noch heraus zu finden, warum es bei dir funktioniert und bei mir nicht.

Wenn ich "firefox -ProfileManager -no-remote" starte, kann ich beim Anlegen eines neuen Profils einen Ordner auswählen, doch existiert bei mir kein "chrome" Ordner. Wenn ich mit dem vorgeschlagenen daher weiter mache und ihn starte, erscheint eine neue Firefox Instanz allerdings mit dem "default" Scrollbar. Eine Änderung über "about:config" und Änderung von "widget.non-native-theme.gtk.scrollbar.allow-buttons" von "false" auf "true" hat aber keine Änderung auf das Aussehen des Scrollbars (keine Buttons).

Ich habe den Logfile von "strace firefox >~/ff.log 2>&1" nach "chrome" durchsucht und tatsächlich den folgenden Eintrag gefunden:

newfstatat(AT_FDCWD, "/home/shiro/.mozilla/firefox/ngz5m88g.default-release-1660914493380/chrome", 0x7fff84cbd570, 0) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)

Meinst du diesen "chrome" Eintrag (file/dir)? Wenn ja, welchen Inhalt hat er?

Bei diesem neuen Profil-Eintrag findet auch gemäß Logfile ein Zugriff auf "gtk.css" statt:

newfstatat(AT_FDCWD, "/home/shiro/.config/gtk-3.0/gtk.css", {st_mode=S_IFREG|0664, st_size=2748, ...}, 0) = 0
...
openat(AT_FDCWD, "/home/shiro/.config/gtk-3.0/gtk.css", O_RDONLY) = 29
statx(29, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_TYPE, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0664, stx_size=2748, ...}) = 0
read(29, "/* ============================="..., 8192) = 2748
read(29, "", 8192)                      = 0
close(29)                               = 0

Das bedeutet, er liest die Datei zwar, interpretiert sie aber nicht mehr so wie früher. Weiterhin ist mir aufgefallen, dass erst danach die themes gelesen werden:

openat(AT_FDCWD, "/usr/share/themes/Greybird/gtk-3.0/gtk.css", O_RDONLY) = 29

Verwendest du auch Greybird? Wenn nein, welche Theme? Da das Lesen der gtk.css von Greybird NACH dem Lesen des eigenen (aus .config) passiert, kann es ja sein, dass hier durch Greybird wieder etwas überschrieben wird.

An dieser Stelle werde ich jetzt erst mal weiter suchen.

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1269

Das mit dem Theme ist ein super Hinweis. Ich benutze keines der mitgelieferten Themes. Gerade stelle ich erstaunt fest, dass die Scrollbar-Buttons auch bei mir mit Adwaita, Greybird, Hoher Kontrast und Numix nicht angezeigt werden.

Ich habe eigene Themes, die ich auf Basis des Themes "Millennium" entwickelt habe. Im Gegensatz zu den mitgelieferten Themes kommt Millennium mit den .scss Quellendateien daher, die sich gut anpassen und mit dem sassc-Compiler in CSS übersetzen lassen. DIE Quelle für xfce-Themes ist: https://www.xfce-look.org/browse/. Der Ziel-Ordner für eigene Themes ist ~/.themes. Der Ordner muss ggf. selbst angelegt werden. Die Änderungen dort sind lokal für den Benutzer und werden wie alle anderen auch in den Erscheinungsbild-Einstellungen angeboten.

Hab ich jetzt die Hausaufgabe festzustellen, welche Einstellung da Firefox (halbherzig) heranzieht. Beim Aussehen der Scrollbars und Buttons hält sich Mozilla nämlich mitnichten an die systemweiten Einstellungen.

Grüsse, juribel

shiro Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Der Ziel-Ordner für eigene Themes ist ~/.themes.

Ja, das hatte ich schon heraus gefunden und die von mir verwendeten Themes dort hin kopiert und modifiziert.

$ cd ~/.themes/Greybird/gtk-3.0/
$ cp /usr/share/themes/Greybird/gtk-3.0/gtk.css .
$ sed -i 's/stepper: false/stepper: true/g' gtk.css 
$ grep -i stepper gtk.css 
*, headerbar.selection-mode .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link { -GtkScrollbar-has-backward-stepper: true; -GtkScrollbar-has-forward-stepper: true; }
$ cp /usr/share/themes/Greybird/gtk-3.0/gtk-dark.css .
$ sed -i 's/stepper: false/stepper: 1/g;s/^\(scrollbar {.*;\)}/\1\n\t-GtkScrollbar-has-forward-stepper: 1;\n\t-GtkScrollbar-has-backward-stepper: 1;\n\t-GtkRange-stepper-size: 20;\n\t}/' gtk-dark.css 
$ grep -i stepper gtk-dark.css 
	-GtkScrollbar-has-forward-stepper: 1;
	-GtkScrollbar-has-backward-stepper: 1;
	-GtkRange-stepper-size: 20;
*, headerbar.selection-mode .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link { -GtkScrollbar-has-backward-stepper: 1; -GtkScrollbar-has-forward-stepper: 1; }
$ 

Außer der Meldung

write(2, "\n(firefox:10166): Gtk-WARNING **"..., 215
(firefox:10166): Gtk-WARNING **: 14:36:31.133: Theme parsing error: gtk-dark.css:994:25: The style property GtkRange:stepper-size is deprecated and shouldn't be used anymore. It will be removed in a future version
) = 215

hat sich aber am Ergebnis nichts geändert

Es gibt einen Eintrag bei https://ubuntuforums.org/showthread.php?t=2475733 der sich auch mit dem Thema beschäftigt. Den dort beschriebenen Vorschlag habe ich umgesetzt, er ändert zwar ScrollBar und Stepper in den anderen Applikationen, hat aber keine Änderung bei Firefox bewirkt.

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1269

Moin,

Folgendes hab ich herausgefunden. Ich habe das Original-Greybird-Theme untersucht, genauer gesagt, die Datei /usr/share/themes/Greybird/gtk-3.0/gtk.css. Dort beginnt bei mir in Zeile 996 das Kapitel mit dem Kommentar /************** Scrollbars * */.

Dort gibt es die beiden Properties -GtkScrollbar-has-backward-stepper und -GtkScrollbar-has-forward-stepper. diese müssen anscheinend anders als du schreibst nicht mit 0 oder 1 sondern mit true bzw, false vorbelegt werden (ohne Hochkommas oder Anführungszeichen; true und false sind vordefinierte Konstanten, keine Strings). Sie sind eide mit false vorbelegt. Ändern auf true zeigt bei mir die gewünschte Wirkung, aber erst nach dem Wechsel auf ein anderes Theme und Zurückwechsel auf Greybird. Und zwar sowohl in Firefox und Thunderbird als auch systemweit.

Herausgefunden hab ich es in meinem eigenen Theme. Dort stehen die betreffenden Properties in der Datei _common.scss in dem Kapitel * Scrollbars *.

Ein kleiner Tipp von mir: Ändere nicht die Datei gtk.css! Das ist viel zu undurchsichtig und zu stressig. Such dir ein Theme, welches mit Sourcecode in Form von .scss-Dateien daherkommt. Es sind eine halbe Handvoll einzelner scss-Dateien, die je nach Theme sehr gut kommentiert sind. Zum Übersetzen musst du den Compiler sassc installiert haben. In dem Source-Verzeichnis befindet sich meistens ein Shellskript mit dem Namen parse-sass.sh. Ausserdem gibt es eine README Datei mit hilfreichen Erläuterungen. Nur: den Sourcecode, also die erwähnten .scss-Dateien müsstest du recherchieren. Ich habe mir besagtes "Millennium" Theme als Vorbild genommen.

Für Adwaita könnte dies dein Anlaufpunkt sein: https://askubuntu.com/questions/1170151/help-creating-a-new-theme-based-on-adwaita. Sourcecode für die anderen mitgelieferten Themes müsste so ebenfalls zu finden sein.

Übrigens, der sassc-Compiler kommt auch damit klar, wenn du überlange Zeilen splittest und formatierst und damit lesbarer machst. Es entsteht trotzdem gültiges CSS.

Vielleicht kommst du mit diesen Infos weiter.

Grüsse, juribel

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1269

Nachtrag:

Eventuell kannst du die Angaben auch in der Datei ~/.config/gtk-3.0/gtk.css unterbringen. Falls das System diese Datei als Letzte zieht, wenn die Themes längst verarbeitet sind, könnte es sein, dass die Einstellung in dieser Datei systemweit wirkt, und nicht nur für ein bestimmtes Theme.

juribel

shiro Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Ich habe den ScrollBar mit den Stepper Buttons bei Firefox nun aktiviert. Unbefriedigend ist, dass ich nicht wirklich weis, wie ich dies erreicht habe, da ich die Konfigurationsabläufe schon x-mal erfolglos durchgeführt hatte und nun auf einmal die Stepper-Buttons sichtbar sind. Aber der Reihe nach:

  1. Im Verzeichnis "~/.themes" habe ich mit diversen fertigen Themes (aus https://www.xfce-look.org/browse/) gearbeitet und etliche modifiziert (teils durch direkte Änderung der css im Text-Editor, teils über die vorgeschlagenen "sassc-Compiler" Methode).

  2. Die "Aktivierung" des neuen/geänderten Themes erfolgte wie Vorgeschlagen

... aber erst nach dem Wechsel auf ein anderes Theme und Zurückwechsel auf Greybird.

  1. Es wurde auch stets über "about:config" die diversen "*scrollbar*" Settings deaktiviert, getestet und wieder aktiviert, getestet.

  2. Im Verzeichnis "~/.config/gtk-3.0" wurde mal mit dem Inhalt gemäß https://ubuntuforums.org/showthread.php?t=2475733 und mal mit gelöschter gtk.css getestet. Wie man leicht ausmultiplizieren kann, waren je getestem Theme eine ganze Reihe an Tests durchgeführt worden.

  3. Da die Millenium-Themes ja den Microsoft Desktop bereit stellen und die Stepper-Buttons bei Firefox unter Windows sichtbar sind, habe ich diese Themes (pack-millenium-22-04.tar.xz und Millennium-pack.tar.gz) zunächst installiert. Ergebnis: negativ (keine Stepper-Buttons)

  4. Mit einem neueren Theme (Prof-Gnome-Darker-3.6.tar.xz) das gleiche probiert. Ergebnis: negativ

  5. Die Änderungen an den Greybird-Themes erfolgte bei den "stepper:" Einträgen sowohl mit true als auch mit 1. Die "scrollbar" Deklaration war mal im Original und mal mit den -GtkScrollbar-has-*-stepper Definitionen versucht worden. Ergebnis: negativ

Bevor die Stepper-Buttons bei Firefox sichtbar wurden habe ich folgendes getan:

  1. Das von mir modifizierte Theme "Greybird-Test" wurde im "~/.themes" Verzeichnis gelöscht.

  2. Die gtk.css im Verzeichnis "~/.config/gtk-3.0" wurde gelöscht

  3. Sämtliche Änderungen von "*scrollbar*" in "about:config" wurde wieder auf Standard gesetzt.

  4. Rechner komplett ausgeschaltet und neu rebootet.

  5. Theme: Greybird ausgewählt. Test mit Firefox (negativ), Test mit Google-Chrome (negativ). Das war ja auch zu erwarten.

  6. In "~/.config/gtk-3.0" die gtk.css gemäß ubuntuforums Vorschlag (s.o.) aktiviert.

  7. Test mit Firefox (negativ), Test mit Google-Chrome (positiv=Stepper-Buttons vorhanden)

  8. In Firefox bei "about:config" nur den Eintrag "widget.non-native-theme.gtk.scrollbar.allow-buttons" auf true gesetzt.

  9. Erneuten Reboot durchgeführt.

  10. Firefox gestartet und die Stepper-Buttons waren vorhanden (positiv). Freude, aber wieso waren sie jetzt sichtbar?

Mir ist absolut unklar, warum dies nun funktioniert hat, da ich diesen Ablauf zuvor auch mehrfach durchgeführt hatte. Ich kann nur vermuten, dass irgendwo eine cache Datei mir dazwischen gefunkt hatte, die nun ausgetimed war. Sehr dubios.

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1269

Hallo,

ich weiss natürlich auch nicht, warum die Buttons "vorher" nicht angezeigt wurden. Aber dein Vorgehen (1 bis 10) war vollkommen korrekt und für mich seit meinen eigenen heutigen Experimenten auch logisch nachvollziehbar. Aber bei der Komplexität des Themas kann man sich wirklich leicht verheddern.

Auf jeden Fall super, dass es jetzt geklappt hat. Frage mich nur noch, warum Firefox und Thunderbird die Systemeinstellungen nur so halbherzig übernehmen. Die Design-Einstellungen für die Buttons und den Slider in meinen Themes (padding und Rähmchen) funktionieren systemweit, ausser in FF und TB.

Grüsse, juribel

shiro Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

juribel schrieb:

Frage mich nur noch, warum Firefox und Thunderbird die Systemeinstellungen nur so halbherzig übernehmen.

Ja, die Design-Entscheidungen bei Firefox sind für mich auch nicht ganz nachvollziehbar. Da Firefox aber auf unterschiedlichen Plattformen eingesetzt wird, wo eine Trennung von Funktion und Design nicht unbedingt mittels gtk erfolgt, vermute ich, dass man wohl einen Teil der gtk Funktionalität in die Applikation (about:config) eher spartanisch übernommen hat.

undine

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Bei mit gab es auch Probleme nach der Umstellung von deb_Firefox auf snap_Firefox.

Die Einstellungen wurden nicht übernommen, die Addons funktionierten nicht richtig.

Antworten |