Mehrzeilige Tableiste für aktuelle Firefox-Versionen

  • Woran könnte das Problem liegen?

    Hast du dich damit befasst?

    2002Andreas
    15. November 2017 um 16:49

    Grüße vom FuchsFan

  • Die Script-Datei habe ich im chrome Verzeichniss angelegt und die vorher genutzte userChrome.css erstmal umbenannt.

    Es hört sich etwas so an als würdest du den Script Code in einer CSS Datei benutzen.

    Das sind aber 2 sehr verschiedene Dinge; das eine ist Javascript (.js), das andere Cascading Style Sheets (.css) .

    Der obige Link von FuchsFan sollte das Problem lösen können.

  • Woran könnte das Problem liegen?

    Hast du dich damit befasst?

    2002Andreas
    15. November 2017 um 16:49

    Jetzt schon :D

    Lag daran, dass ich die "userChromeScripte" gar nicht "installiert" hatte. Nachdem ich die erforderlichen Dateien in die entsprechenden Verzeichnisse gelegt habe, hat es funktioniert.

    Danke vielmals für den Link. Sobald man weiß wo bzw. was man lesen sollte hilft das ungemein. Solange man aber nicht weiß nach was man überhaupt suchen soll, ist es mühsam.

  • Jetzt schon

    :thumbup: :)

    Danke vielmals für den Link. Sobald man weiß wo bzw. was man lesen sollte hilft das ungemein. Solange man aber nicht weiß nach was man überhaupt suchen soll, ist es mühsam.

    Da stimme ich dir zu, deshalb gibt es ja dieses Forum, und da finden sich immer Leute, die helfen werden. Zuarbeit ist aber auch eine Bringepflicht, damit das geschehen kann, und nicht lange im Nebel gestochert werden muss.

    Grüße vom FuchsFan

  • Erstmal danke für das Script. Sehr hilfreich.

    Wie kann ich die vertikalen Abstände der ersten und letzten Reihe, sowie den linken Abstand einstellen?

    Wenn du mir die CSS Klassen sagst, kann ich den Rest selbst einbauen.
    Finde es nur auf die Schnelle nicht.

    Danke!

  • Hallo phloo,

    so ganz einfach kann man diese "Unsauberkeit" gar nicht lösen, zumindest nicht nur mit CSS. Das Problem wird in erster Linie durch die Funktion gBrowser.selectedTab.scrollIntoView(); verursacht. Damit wird, wie der Name schon sagt, ein neuer (selektierter) Tab in den sichtbaren Bereich gebracht. Das passiert dann automatisch und ist sehr praktisch und einfach in der Anwendung. Allerdings scrollt er eben nicht immer an die Position, die die Abstände zur oberen und unteren Kante des sichtbaren Bereichs gleich lässt. Das Problem sollte eigentlich nur dann auftreten, wenn eine Scrollbar erscheint, wenn mehr Zeilen angezeigt werden müssten, als Platz dafür vorhanden ist. Ist das nicht der Fall, sieht es (zumindest mit den Default-Einstellungen) so wie auf dem Screenshot aus. Dort ist am unteren Seite der Tabs auch noch ein Schatten, was dann aber eben optisch die "Lücke" schließt.

    Änderungen müssten an der Höhe der Scrollbox (bei mir Zeile 630) durchgeführt werden, die Funktion 'scrollIntoView()' müsste durch manuelle Berechnungen ersetzt werden und dann müsste wahrscheinlich auch noch das Scrollverhalten angepasst werden.

    Sorry, aber das alles ist mir für diese Version des Skripts viel zu aufwendig. Wenn du eine einfachere Lösung hast, immer her damit... ;)

    2 Mal editiert, zuletzt von BrokenHeart (6. Juli 2023 um 16:53)

  • Hej, danke für die sehr ausführliche Erklärung.
    In der Zwischenzeit fiel mir das auch auf, dass es nur bei mehrzeiliger Tab-Ansicht passiert. Passen sie in eine Zeile, kommt es nicht vor.

    Ich habe versucht mit Margins etwas anzupassen:

    CSS
    #TabsToolbar {
      padding: 0px !important;
      margin:-2px 2px 3px 2px !important;
      /* Hintergrund der Tab-Leiste setzen __strTabBarBackground__  */
    }

    Für mich sieht es annehmbar aus. Auch wenn oben und unten nicht ideal. Aber allemal besser, als ohne das Script :D

  • ist es eigentlich möglich, wenn man zwar 3 Tabreihen habe, dann aber nur immer zwei Reihen zu scrollen?

    Nein, das ist so nicht möglich. Was du aber über die UserSettings einstellen kannst ist, von seitenweises auf zeilenweises Scrollen umzustellen: var bPageScroll = false;.

    Neue Features werde ich in diese Version nicht mehr einbauen...

  • Ich hätte eine Frage bezüglich der Animation des Tab Drag-and-Drop.

    Es ist ja so: Mit diesem Skript funktioniert das Drag-n-Drop nicht so, wie in aktuellen FF Versionen. Bei Aktuellen FF Versionen wird ja beim "Dragen" des Tabs der Tab sichtbar mit verschoben. Bei diesem Skript bleibt beim "Dragen" der Tab an Ort und Stelle und nur ein Strich wird angezeigt, wohin der Tab verschoben wird.

    Meine Frage wäre jetzt, ob bzw. wie ich das Skript (für mich) irgendwie abändern kann, so dass ich das aktuelle Drag-n-Drop verhalten kriege.

    Ich hätte hier ein Bild (weiss leider nicht, wie man diese kurz-videos/Gifs machen kann hier):

    Man sieht hier, wie der Tab während des "dragen" mitgezogen wird. Dabei werden alle anderen Tabs vom angewählten Tab "weggedrückt". Und "gedroppt" wird der Tab dann dort, wo ich den Tab hinziehe. Also nicht das mit dem Strich.

    Ist das irgendwie möglich ?

  • Ich weiß genau, was du meinst. Aber der Grund, warum es hier anders gelöst wurde, ist folgender: Bei der einzeiligen (eindimensionalen) Anzeige der Tableiste müssen nur die sichtbaren Tabs auf einer Linie verschoben werden. Je nachdem, von wo ich den Tab nehme, entweder nach rechts oder nach links, um diese Lücke zu erzeugen. Bei der mehrzeiligen (2-dimensionalen) Anzeige muss ich auch die sichtbaren Tabs berücksichtigen, die oberhalb und unterhalb des 'Drop-Ziels' liegen. Auch mit dem ständigen Refresh und dem Scrollen könnte es dann Probleme geben. So hab ich nur einen Indikator und einen Thumb mit dem Screenshot für den selektierten Tab und muss mich darum nicht kümmern.

    Das heißt natürlich absolut nicht, dass es nicht so funktionieren kann, wie es dir vorschwebt, aber ich werde mir sicherlich nicht die Mühe machen, so etwas in das Skript einzubauen oder Hilfestellungen dazu geben. Einmal, weil ich den Code für das Drag&Drop von 'alice0775' übernommen habe und bis auf ein paar Anpassungen, bisher noch nichts daran geändert habe, weil er ja auch bis jetzt wunderbar funktioniert hat. Außerdem hatte ich ja schon öfters gesagt, dass ich an diesem Skript nur noch Fehlerbehebung betreiben möchte und keine neuen Features mehr einbaue. Und dein Anliegen hat ja offensichtlich - wenn überhaupt - nur einen rein optischen Nutzen. Ich frage mich sowieso, was dich an der jetzigen Lösung stört...? :/

    Ansonsten musst du ab Zeile ~1157 selber tätig werden. Aber du solltest dich dafür nicht nur gut mit JavaScript auskennen, sondern dich auch mit den Interna des Firefox beschäftigt haben...

  • So, alles nochmal eingespielt aus dem zip-File und die mehrzeilige Leiste ist wieder da. Wie es scheint war die config.js - warum auch immer - verschwunden X(

    Die Tableiste sieht bei mir nun so aus:

    Die userChrome.css hab ich auch so angepasst, wie in Post #508 beschrieben.
    Ich bin mir allerdings nicht sicher, ob das so passt, denn irgendwie merke ich keinen Unterschied ob das .css File vorhanden ist oder nicht.

    2 Mal editiert, zuletzt von pirate man (12. Juli 2023 um 09:03)

  • Ich bin mir allerdings nicht sicher, ob das so passt, denn irgendwie merke ich keinen Unterschied ob das .css File vorhanden ist oder nicht.

    Es scheint nicht so, dass bei dir die Einträge in der 'userChrome.css' ausgewertet werden, da die Tabs noch einen zusätzlichen Rahmen und Schatten besitzen.

    Steht bei dir unter 'about:config' toolkit.legacyUserProfileCustomizations.stylesheets auf true?

    Befindet sich die Datei im richtigen Profilordner? Falsche Schreibweise bzw. falsches Suffix (.txt)->(.css)?

  • Der Eintrag in about:config war auf false gesetzt, das ist vermutlich der Default-Wert?
    Sieht jetzt deutlich anders aus :)

    Wenn man jetzt noch das + für einen neuen Tab noch ein wenig anpassen könnte größenmäßig, wäre ich endgültig zufrieden :)

  • Sieht jetzt deutlich anders aus :)

    :thumbup:

    Wenn man jetzt noch das + für einen neuen Tab noch ein wenig anpassen könnte größenmäßig, wäre ich endgültig zufrieden :)

    Folgenden Code noch an die CSS-Anpassungen anhängen. Sollte die Default-Größe sein. Kannst du dir dann individuell einstellen.

    CSS
        #TabsToolbar #tabs-newtab-button > image {
            min-height: 0 !important;
            max-height: 20px !important;
            min-width: 0 !important;
            max-width: 20px !important;
         }
  • Ich weiß genau, was du meinst. Aber der Grund, warum es hier anders gelöst wurde, ist folgender: Bei der einzeiligen (eindimensionalen) Anzeige der Tableiste müssen nur die sichtbaren Tabs auf einer Linie verschoben werden. Je nachdem, von wo ich den Tab nehme, entweder nach rechts oder nach links, um diese Lücke zu erzeugen. Bei der mehrzeiligen (2-dimensionalen) Anzeige muss ich auch die sichtbaren Tabs berücksichtigen, die oberhalb und unterhalb des 'Drop-Ziels' liegen. Auch mit dem ständigen Refresh und dem Scrollen könnte es dann Probleme geben. So hab ich nur einen Indikator und einen Thumb mit dem Screenshot für den selektierten Tab und muss mich darum nicht kümmern.

    Das heißt natürlich absolut nicht, dass es nicht so funktionieren kann, wie es dir vorschwebt, aber ich werde mir sicherlich nicht die Mühe machen, so etwas in das Skript einzubauen oder Hilfestellungen dazu geben. Einmal, weil ich den Code für das Drag&Drop von 'alice0775' übernommen habe und bis auf ein paar Anpassungen, bisher noch nichts daran geändert habe, weil er ja auch bis jetzt wunderbar funktioniert hat. Außerdem hatte ich ja schon öfters gesagt, dass ich an diesem Skript nur noch Fehlerbehebung betreiben möchte und keine neuen Features mehr einbaue. Und dein Anliegen hat ja offensichtlich - wenn überhaupt - nur einen rein optischen Nutzen. Ich frage mich sowieso, was dich an der jetzigen Lösung stört...? :/

    Ansonsten musst du ab Zeile ~1157 selber tätig werden. Aber du solltest dich dafür nicht nur gut mit JavaScript auskennen, sondern dich auch mit den Interna des Firefox beschäftigt haben...

    Sorry für die Später Antwort, war viel Los:

    Also ich habe natürlich nicht erwartet, dass du das jetzt für mich machst, ich dachte nur, da du dieses Skript gemacht hast, würdest du das grad so spontan wissen. Wollte nur mal nachfragen.

    Dass du öfters gesagt hast, dass du keine neuen Features einabust, war mir nicht klar, von mir aber wie gesagt auch nicht erwartet. (aber schreib doch das in den 1. Post).

    Aber nein, mein Anliegen hat keinen optischen Nutzen. Das ist rein der Produktivität halber. Beispiel: Wenn ich mit diesem Skript einen Tab nach unten ziehe (senkrecht), dann zieht es mit den Tab nicht an die Position direkt darunter, sondern rechts/links von dem Tab, direkt darunter. Das ist unlogisch und stört mich im Fluss.

    2. Es ist grafisch einfach deutlich ein überlegenes Design, wenn ich den Tab direkt sehe, wo er sich jetzt befindet, anstatt nur diesen Strich. Das ist einfach deutlich produktiver. Es gibt ja auch Gründe, warum das jeder Browser so macht. Ist einfach besser so...

    Es mag ja sein, dass das für dich so passt, aber für mich eben nicht. Deswegen habe ich ja gefragt. Aber wenn du keine Antwort darauf weisst, ist das ja nicht weiter schlimm. Ich habe nur gefragt... Im übrigen habe ich nur so in die Runde gefragt und nicht spezifisch dich.

    Trotzdem danke für die Antwort.

    Falls hier jemand weiss, wie man das machen könnte, wäre ich aber immer noch froh, wenn mir jemand sagen könnte, was man am Skript ändern muss. Ich fordere hier niemanden dazu auf, ist natürlich freiwillig. Wer nicht will, muss nicht antworten ;).

  • Dass du öfters gesagt hast, dass du keine neuen Features einabust, war mir nicht klar, von mir aber wie gesagt auch nicht erwartet. (aber schreib doch das in den 1. Post).

    Deswegen hatte ich es ja noch mal erwähnt, aber gute Idee, werde ich machen... :) :thumbup:

    Aber nein, mein Anliegen hat keinen optischen Nutzen. Das ist rein der Produktivität halber. Beispiel: Wenn ich mit diesem Skript einen Tab nach unten ziehe (senkrecht), dann zieht es mit den Tab nicht an die Position direkt darunter, sondern rechts/links von dem Tab, direkt darunter. Das ist unlogisch und stört mich im Fluss.

    Das ist so nicht ganz richtig. Du kannst den selektierten Tab, welchen du verschieben möchtest, genau senkrecht unter bzw. über der vorherigen Position droppen. Wenn du ihn runter ziehst, dann eben rechts von der Mitte des Tab, welchen du "ersetzen" willst, und beim rauf ziehen eben links davon: Im Prinzip ist das genau das selbe, wie das Standard-Verhalten (obwohl man das nicht ganz vergleichen kann), nur eben, dass die Positionierung und das Verschieben der anderen Tabs nicht sofort passiert:

    Mag sein, dass das mal mit (dem alten!) TabMixPlus funktioniert hat, ist zu lange her, da kann ich mich nicht mehr dran erinnern. Falls ja, dann gibt es meines Wissens doch Möglichkeiten das alte TabMixPlus irgendwie wieder zum Laufen zu bringen. Aber da kenne ich mich nicht mit aus...

    Trotzdem danke für die Antwort

    Gerne :)

    ...wenn es nur ein paar Zeilen wären, dann hätte ich dir auch konkretere Tipps gegeben, aber das was du wünscht ist mit einem sehr großen Aufwand verbunden (für mich). Vielleicht kann dir ja jemand anderes deinen Wunsch erfüllen oder du findest ein entsprechendes Skript dazu... :/ )

  • Eine kurze Frage:

    Ich habe zwei unabhängige Installationen vom Firefox. Version 116 Release und Version 117 beta 2. Beide Installationen mit unterschiedlichen Profil-Ordnern jedoch mit identischen Chrome-Ordner. Bei der 116 funktioniert das Script "MultiRowTabs.uc.js" einwandfrei. Jedoch bei der Beta-Version funktioniert es seit dem Update auf 117beta2 einfach nicht mehr.

    Zwecks Versuche habe ich das Original-Script aus #1 ebenfalls getestet, Script-Cache gelöscht und ohne "userChrome.css" und "userContent.css", damit nicht eventuell etwas in die Quere kommt, gestartet. Bei der Beta-Version keine Chance.

    Gab es eine Änderung ab V117 die ich überlesen habe?

    Alle anderen 17 Scripte funktionieren in beiden Versionen wie sie sollen. Im Anhang das Script so wie ich benutze.

    Vielleicht hat ja jemand einen Tipp für mich - Vielen Dank