MultiRowTabs – Verbesserte und verschönerte Version

  • Firefox-Version
    129
    Betriebssystem
    Linux Ubuntu

    Hallo Ihr Lieben,

    Ich habe das Skript von BrokenHeart mal etwas bearbeitet, und hoffe, dass es so besser funktioniert und schöner aussieht.

    Hier kann man es runterladen: https://gitlab.com/UlfZibis/multi…?ref_type=heads

    Es hat 2 neue Variablen:
    var bTabbarAutohide = false;  // [true] Tableiste wird erst angezeigt bei Mausbewegung an den linken Rand (Autohide/Autopopup), nur bei [4]
    var bFxViewButton   = true;   // [true] Firefox-View-Button anzeigen. Dies erfordert breitere vertikale Tab-Leisten


    Ich würde mich sehr freuen, wenn das mal ein paar ausprobieren.

    Insbesondere würde mich interessieren, ob man in der rechten Position [5] die Tabs in beide Richtungen verschieben kann. Hier auf Linux Ubuntu funktioniert das nämlich immer noch nicht, aber vielleicht auf Windows.

    Einmal editiert, zuletzt von Herzmann (22. August 2024 um 21:54) aus folgendem Grund: Ein Beitrag von Herzmann mit diesem Beitrag zusammengefügt.

  • Nun noch einer weitere Version für mehrere Spalten in vertikalen Tab-Leisten:

    Zusätzliche Variable:
    var nTabColumns   = 2;   // Anzahl der sichtbaren vertikalen Tab-Spalten. Nur Position [4],[5]

    So sieht das dann auf Ubuntu Linux aus:

  • wenn das mal ein paar ausprobieren.

    Vorweg, ich nutze dieses Skript normalerweise nicht.

    So sieht das mit dem Skript aus Beitrag Nr. 2 hier aus:

    Den Viewbutton habe ich dabei ausgeblendet, und immer nur 1 Tab pro Reihe.

    Das Verschieben der Tabs funktioniert in beiden Richtungen hier nicht einwandfrei. Es braucht jeweils mehrere Versuchen für rauf oder runter.

  • So sieht das mit dem Skript aus Beitrag Nr. 2 hier aus:

    Den Viewbutton habe ich dabei ausgeblendet, und immer nur 1 Tab pro Reihe.

    Das Verschieben der Tabs funktioniert in beiden Richtungen hier nicht einwandfrei. Es braucht jeweils mehrere Versuchen für rauf oder runter.

    Danke für's Testen. Oben jetzt auch ein Screen-Shot von mir.

    Was ist das für ein Schiebebalken links von der Tab-Leiste?
    Bei mir ist links nur noch Bildschirmrand.

    An der Verschiebe-Logik habe ich nichts geändert, insofern komisch, dass das jetzt schlechter funktioniert.
    (Und bei mir funktioniert es auf der rechten Seite ja von Anfang an nur nach unten, aber ansonsten gut, auch bei 1000 Tabs.)

    Ich habe nur die Größen der Elemente bearbeitet und rechnerisch voneinander abhängig gemacht, damit sowohl rechts als auch links die Tab-Buttons zuverlässig voll sichtbar sind, genauso wie der Scrollbalken und der Plus-Button ganz unten.
    .... und das mit/ohne Firefox-Button, mit/ohne Autohide, mit/ohne Scrollbalken.

  • Auch gerade kurz getestet!
    Tabs am linken sowie am rechten Rand! Alles Ok bei mir.

    Was ich störend empfinde, ist die kleine Vorschau beim Hovern über die Tabs.
    Aber das hat, glaube ich *, nichts mit dem Skript an sich zu tun. Wäre aber schön,
    oder nützlich, wenn dies auch direkt im Skript eingestellt werden könnte.
    Muss aber nicht:!:

    *(Gerade getestet! Nein, hat nichts mit dem Skript zu tun!)

    Mit <3lichem Gruß

    Mira

  • die kleine Vorschau beim Hovern über die Tabs.

    Neu in Fx 129;)

    Mozilla veröffentlicht Firefox 129
    Mozilla hat Firefox 129 veröffentlicht. Dieser Artikel beschreibt die Neuerungen des Browsers für Microsoft Windows, Apple macOS und Linux.
    www.soeren-hentzschel.at

    Allerdings wohl noch nicht für alle freigegeben.


    Mit freundlichem Gruß
    Andreas
    Mein Laptop  Meine Add-ons

    Einmal editiert, zuletzt von 2002Andreas (23. August 2024 um 11:16) aus folgendem Grund: Ein Beitrag von 2002Andreas mit diesem Beitrag zusammengefügt.

  • Auch gerade kurz getestet!

    Wäre aber schön, oder nützlich, wenn dies auch direkt im Skript eingestellt werden könnte.
    Muss aber nicht:!:

    Dankeschön.

    letzteres stört mich auch, deshalb ist das schon in Planung.
    Ich hoffe, ich kann da was passendes von Endor8 abkupfern/anpassen.

    Beim Hoovern kommt bei mir ein hässlicher 3-zeiliger Tool-Tipp, wo dennoch fast alles abgeschnitten wird. Die früheren simplen schwarzen Einzeiler waren mir da lieber.
    Vorschaubild kommt bei mir nur beim Anfassen und Verschieben, was ich an der Stelle ziemlich überflüssig finde, ich weiß ja, was ich verschieben will.

  • Vorschaubild kommt bei mir nur beim Anfassen und Verschieben

    Ob das Nebenwirkungen hat kann ich hier nicht feststellen.

    Teste mal:

    nglayout.enable_drag_images

    auf false stellen.

    ein hässlicher 3-zeiliger

    Bei deaktivierter Grafik sieht das hier so aus:


    früheren simplen schwarzen Einzeiler waren mir da lieber.

    Teste:

    browser.tabs.hoverPreview.enabled

    auf false

    Mit freundlichem Gruß
    Andreas
    Mein Laptop  Meine Add-ons

    Einmal editiert, zuletzt von 2002Andreas (23. August 2024 um 12:12) aus folgendem Grund: Ein Beitrag von 2002Andreas mit diesem Beitrag zusammengefügt.

  • Die Tab-Tooltips kann man ja mit CSS wieder ausblenden:

    CSS
    #tab-preview-panel { 
        display:none !important;
    }

    Habe das mal in dem angehefteten Thread geändert. Die Variable zum Ausblenden der Tooltips, war ja schon immer vorhanden, funktionierte aber schon seit etlichen Versionen nicht mehr.

    Herzmann :

    Ich finde es wirklich toll, dass du versuchst das uralte Skript von mir für deine Zwecke anzupassen (keine Ironie oder Sarkasmus!) :thumbup:.

    Aber was ich nicht so toll finde, ist die Tatsache, dass du anscheinend als erstes den "Info-Header" geändert hast und meinen Usernamen oben entfernt und dafür deinen hineingeschrieben ist. Damit stimmt auch die zweite Zeile nicht mehr, da DEIN Skript nicht auf dem Ursprungsscript von Alice basiert (in erster Linie Zeilen 1158 bis 1406), sondern auch auf den über 1000 Zeilen davor, welche ja von mir sind. Und das nach effektiv 3-4 Zeilen neuen Code. Na ja, immerhin ein Danke habe ich noch bekommen...;)

    Auch die scheinbar willkürlichen Löschungen aus dem Änderungs-Verlauf versteh ich nicht wirklich. Das sollte ja logischerweise überhaupt nicht angefasst werden, wenn man keine Sourceverwaltung (wie hier bisher geschehen) genutzt hat.:/

    Deine Breiten-Anpassung bei vertikaler Ausrichtung funktioniert nur mit dem Firefox-View-Button, aber du kannst beliebige Elemente in die Tabbar ziehen. Alleine den Firefox-View-Button zu betrachten nützt nichts. Da finde ich die Anpassung über die vorhandene Variable mit der Tabbar-Breite einfacher und praktikabler.

    Die andere Veränderung mit dem Autohide versteh ich nicht. Sehe da keine Änderung...

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"

  • Herzmann :

    Ich finde es wirklich toll, dass du versuchst das uralte Skript von mir für deine Zwecke anzupassen (keine Ironie oder Sarkasmus!) :thumbup:.

    Aber was ich nicht so toll finde, ist die Tatsache, dass du ......

    Erst mal dicken Dank für die Rückmeldung.

    Die Änderung im Header war ein Schnellschuss. So wie Du Alice in die "Danke-Zeile" gesetzt und Dich als Autor nach oben, hab' ich das einfach auch so gemacht.
    Ich ändere das aber gerne nach Deinen Wünschen, denn Deine Vorarbeit soll ja nicht unter den Tisch fallen.
    Kannst Du bitte mal grob oder genau skizzieren, wie Du es gerne hättest.

    Bitte entschuldige dass ich mir mit dem Thema erst mal nicht so viel Mühe gegeben habe.

    Wo siehst Du da Löschungen im Änderungsverlauf? Ich habe lediglich die Reihenfolge chronologisiert, weil das schon mal zur Verwirrung beigetragen hat. Zusätzlich fände ich es gut, diesen Einträgen noch den Autor zu verpassen (dann sieht man auch wer wieviel Arbeit da reingesteckt hat.

    Im übrigen kannst Du alle Änderungen, teils ausgelagert in Branches, per GIT-Diff und in der GIT-Historie genau nachverfolgen, was bei Deinen Änderungen nicht so leicht ist.

    Ich fand's unpraktisch, mit der Tabbar-Breite herumexperimentieren zu müssen, um herauszufinden, wie man auf 2 oder mehr Spalten kommt. Außerdem hatte das Auswirkung auf die Existenz des Scoll-Balkens und auf die Erscheinung und Position des Plus-Button, der dann teilweise gar nicht mehr erschien und das war obendrein noch abhängig vom Firefox-View-Button.

    Die Autohide-Variable habe ich eingeführt, weil ich im Hinterkopf habe, auch für die anderen Ansichten Autohide zu ermöglichen. Wie weit ich damit komme .... ??? Außerdem wurden so manche Abfragen einfacher, und es kann vermutlich noch manches einfacher gemacht werden.

  • So wie Du Alice in die "Danke-Zeile" gesetzt und Dich als Autor nach oben, hab' ich das einfach auch so gemacht.

    Nein. Das habe ich ja, wie man sehen kann, nicht gemacht. Dort steht, dass mein Skript auf dem Skript von Alice basiert und das entspricht auch genau dem, was das aktuelle Skript darstellt. Bedankt habe ich mich bei aborix, der mir bei einem speziellen Problem bei der 'sidebarbox' weitergeholfen hat. Meinen Usernamen hatte ich erst "hinzugefügt", nachdem das Skript schon mehr oder weniger die heutige Form hatte. Also Eitelkeit kannst du mir sicherlich nicht unterstellen, unterstelle ich dir übrigens auch nicht...

    Ich ändere das aber gerne nach Deinen Wünschen, denn Deine Vorarbeit soll ja nicht unter den Tisch fallen.
    Kannst Du bitte mal grob oder genau skizzieren, wie Du es gerne hättest.

    Nein, ich werde sicherlich nichts "skizzieren" (falls das überhaupt ernst gemeint war :/). Ich habe gesagt, was mich gestört hat und von mir aus kannst du es auch so lassen...

    Bitte entschuldige dass ich mir mit dem Thema erst mal nicht so viel Mühe gegeben habe.

    Ich glaube spätestens jetzt hat jeder verstanden, dass du das ganze wohl ins Lächerliche ziehen möchtest. Wie gesagt, lassen wir das Thema!

    Wo siehst Du da Löschungen im Änderungsverlauf? Ich habe lediglich die Reihenfolge chronologisiert, weil das schon mal zur Verwirrung beigetragen hat.

    Da muss ich mich entschuldigen! Ich hatte mir die beiden Versionen mit WinMerge angeschaut und da waren - auch wegen der Unix-Formatierungen - alle Einträge irgendwie verschoben und es sah so aus, als wenn du dort Einträge gelöscht hättest. Sorry dafür! Fällt mir jetzt erst auf, dass es wirklich vorher nicht chronologisch war.

    Ich fand's unpraktisch, mit der Tabbar-Breite herumexperimentieren zu müssen, um herauszufinden, wie man auf 2 oder mehr Spalten kommt. Außerdem hatte das Auswirkung auf die Existenz des Scoll-Balkens und auf die Erscheinung und Position des Plus-Button, der dann teilweise gar nicht mehr erschien und das war obendrein noch abhängig vom Firefox-View-Button

    Das ist ja auch nachzuvollziehen, allerdings ist das Ergebnis bei mir so, dass jetzt, je nach zusätzlichen eingefügten Steuerelementen, eine sehr große, ungenützte Lücke am rechten Rand [5] erscheint (z.B. Wenn die Scrollbar erscheint). Durch Anpassen der Tabbar-Breite über die vorhandene Variable lässt sich dies wie gesagt viel passgenauer realisieren. Wenn man das automatisiert machen möchte, dann müsste man den Platz/Anzahl der zusätzlichen Elemente nach eine User-Anpassung der Symbolleiste wieder korrigieren und bei Änderung die Breite anpassen. Aber wozu? Die Tab-Breite oder die Anzahl der Spalten ändert man ja nicht ständig. :/

    Die Autohide-Variable habe ich eingeführt, weil ich im Hinterkopf habe, auch für die anderen Ansichten Autohide zu ermöglichen. Wie weit ich damit komme .... ??? Außerdem wurden so manche Abfragen einfacher, und es kann vermutlich noch manches einfacher gemacht werden.

    Natürlich ist der Source-Code sehr unschön. War mein allererstes JS und ich hatte weder von der Sprache (komme von C++/C#) viel Ahnung, noch Wissen darüber, wie man die mannigfaltigen Firefox-Eigenschaften korrekt ansprechen muss. Auch die textuellen Ersetzungen für die Variablen in den CSS-Strings sind natürlich obsolet, kann man viel einfacher machen. Bloß scheue ich den Aufwand, da ich keine Lust habe, alles wieder zu testen. Aber es funktioniert (für mich) immer noch ganz gut...

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"

  • So, jetzt hab' ich auch noch das "Tab-Schließen-Knopf per Mouse-Hoover" nach der Idee von 2002Andreas eingebaut.

    var nTabCloseButton  = 1   // [0] Tab-Schließen-Button verbergen
                               // [1] Tab-Schließen-Button bei Maus-Berührung anzeigen
                               // [2] Tab-Schließen-Button immer auf allen Tabs anzeigen

    Könnt Ihr gerne mal testen.

  • Tab-Schließen-Knopf per Mouse-Hoover

    Und, funktioniert es mit dem Staubsauger gut? ;)

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Bitte entschuldige dass ich mir mit dem Thema erst mal nicht so viel Mühe gegeben habe.

    Ich glaube spätestens jetzt hat jeder verstanden, dass du das ganze wohl ins Lächerliche ziehen möchtest. Wie gesagt, lassen wir das Thema!

    Wie kommst Du denn darauf?
    Ich nehme das sehr ernst, und deshalb habe ich mich für meinen laxen "Schnellschuss" entschuldigt.

    So hoffe ich, dass Dir die neue Version des Headers jetzt gefällt.

    Das ist ja auch nachzuvollziehen, allerdings ist das Ergebnis bei mir so, dass jetzt, je nach zusätzlichen eingefügten Steuerelementen, eine sehr große, ungenützte Lücke am rechten Rand [5] erscheint ......


    Natürlich ist der Source-Code sehr unschön. War mein allererstes JS und ich hatte weder von der Sprache (komme von C++/C#) viel Ahnung, .....

    Ja zusätzliche Steuerelemente passen jetzt nicht mehr so elegant rein. Vielleicht finden wir zusammen ja eine Lösung, wie man das schick miteinander verheiraten kann. Dafür könnte ich Dir auch Schreibrechte im GIT einräumen. Aber Änderungen bitte erst mal in einem eigenen "Branch" beheimaten.

    Ja so ähnlich wie bei mir, ich komme noch aus der Assembler-Welt und bin über C(++) dann schließlich beim echten Java gelandet.
    Für die mehr oder weniger ersten Schritte in JavaScript habe ich hier gute Inspirationen bekommen.

    Wie Du ab Zeile 286 sehen kannst, habe ich mal angefangen, das CSS auf andere Weise zusammenzubauen. Ich denke, das ist so übersichtlicher, logischer und spart Code-Zeilen.
    Außerdem schlucken die mehrfachen replace()-Operationen sicher richtig Performance.

    Dann würde mich noch interessieren, wofür die Anweisung (jetzt) in Zeile 312 gut sein soll. Das Icon dürfte doch egal sein, wenn es sowieso nicht gebraucht wird.

    Auch denke ich, dass es ökonomischer wäre, die Grafiken aus Dateien zu laden, statt sie durch den base64-Dekoder zu quälen. So sind sie dann auch leichter austauschbar.

    Auch die Kommentare könnte man aus dem CSS rausnehmen und stattdessen in den JS-Code schreiben, was die CSS-Abarbeitung beschleunigen könnte.