Mehrzeilige Tableiste für aktuelle Firefox-Versionen

  • Summa summarum ist das Skript also nicht mehr kompatibel mit dem neuen Firefox View-Button.

    Hat jemand eine Idee, wie ein Test auf das Aktiviertsein dieses Buttons in JavaScript (oder CSS) aussehen müsste?
    Dann könnte ich den mal einbauen und abhängig davon die Breite justieren.

    Folgender Einschub blendet den View-Button zwar aus und macht die Tabs auch auf der rechten vertikalen Leiste wieder voll sichtbar, doch der Scroll-Balken bleibt weiterhin im Nirvana.

  • Zum Vergleich: die native Firefox-Funktion, komplett ohne Script:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Sören Hentzschel

    auch wenn es nicht hier hingehört, aber bei dir ist die vertikale Tabanordnung ohne Hintergrundgrafik/-bild zu sehen.
    Wie kann man diese ändern bzw. deaktivieren?

    HP Chromebook 15a-nb0225ng, i3N-305, 8 GB LPDDR5-4800 MHz RAM (integriert), 256GB UFS, - chromeOS 126 (Stable Channel) - Linux Debian Bookworm: Firefox Nightly, Beta und Main Release (Mozilla PPA), Android 13: Firefox Nightly und Firefox (Main Release)

    Smartphone - Firefox Main Release, Firefox Nightly, Firefox Klar (Main Release)

  • Hier das Script (Inhalt kopieren und als Text-Datei 'MultiRowTabs.uc.js' ins 'chrome'-Verzeichnis einfügen):

    In der Funktion gBrowser.tabContainer._getDropIndex (ab Zeile 1358) ist ein Fehler drin.
    Wenn sich die Maus in X-Richtung genau auf der Mitte des Tabs befindet – also wenn event.screenX == tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 , wird der "Drop" des Tabs nicht ausgeführt.

    Die Korrektur (incl. Verschlankung) müsste so aussehen:

  • Sowohl aktueller Code als auch vorgeschlagene Korrektur haben das Problem, dass hier eine Firefox-interne Funktion überschrieben wird und Mozillas aktuelle Änderungen an dieser Funktion nicht berücksichtigt sind. Der Aufruf von _getDragTargetTab() entspricht sogar schon seit 1 1/2 Jahren nicht mehr dem Original-Code und übergibt einen Parameter, den es so lange schon nicht mehr gibt. Gleiches gilt für die _getDropIndex-Funktion selbst auch.

    Wenn man Firefox-interne Funktionen überschreibt, ist es wirklich wichtig, darauf zu achten, dass man möglichst synchron mit dem Original-Code bleibt. In diesem Fall entsteht durch die falsche Funktions-Signatur kein Schaden. Aber das ist die klassische Quelle für Bugs aller Art, die durch Scripts verursacht werden.

    Die Nicht-Berücksichtigung der aktuellen Änderungen wiegt schon schwerer, weil die Nutzer-Einstellung für vertikale Tabs ignoriert wird. Das Script unterstützt ja auch vertikale Tabs. Ich empfehle in jedem Fall, hier die bereits vorhandene Nutzer-Einstellung zu berücksichtigen statt das über eine nicht veränderbare Option im Script zu steuern.

  • Sowohl aktueller Code als auch vorgeschlagene Korrektur haben das Problem, dass hier eine Firefox-interne Funktion überschrieben wird und Mozillas aktuelle Änderungen an dieser Funktion nicht berücksichtigt sind. Der Aufruf von _getDragTargetTab() entspricht sogar schon seit 1 1/2 Jahren nicht mehr dem Original-Code und übergibt einen Parameter, den es so lange schon nicht mehr gibt. Gleiches gilt für die _getDropIndex-Funktion selbst auch.

    Wenn man Firefox-interne Funktionen überschreibt, ist es wirklich wichtig, darauf zu achten, dass man möglichst synchron mit dem Original-Code bleibt. In diesem Fall entsteht durch die falsche Funktions-Signatur kein Schaden. Aber das ist die klassische Quelle für Bugs aller Art, die durch Scripts verursacht werden.

    Die Nicht-Berücksichtigung der aktuellen Änderungen wiegt schon schwerer, weil die Nutzer-Einstellung für vertikale Tabs ignoriert wird. Das Script unterstützt ja auch vertikale Tabs. Ich empfehle in jedem Fall, hier die bereits vorhandene Nutzer-Einstellung zu berücksichtigen statt das über eine nicht veränderbare Option im Script zu steuern.

    Gute Hinweise, danke!

    Ich finde es halt immer wieder spannend, wie sehr sich bestehender Code oft vereinfachen lässt, und dass ich bei der Beschäftigung auch oft auf unentdeckte Bugs stoße. Die Alte Weisheit – je mehr Zeilen, je mehr Bugs – beweist sich immer wieder.

    Insofern verstehe mein Gebastel eher als Übung. Gerade weil nun vertikale Tab-Leisten im Anmarsch sind, und damit vielleicht auch mehrzeilige nicht mehr weit weg, erübrigt sich das ganze dann. Ich bin halt etwas frustriert, weil die an sich guten Aris-CSS meinen FF so verlangsamen, und die Script-Variante hier einfach performanter ist.

    Gibt's die vorhandene Nutzereinstellung schon in V 129?
    Um mir das Suchen zu ersparen, kannst Du bitte mitteilen, wie die heißt, bzw. wo sich die Doku darüber befindet.