1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. Atarist

Beiträge von Atarist

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 14. November 2021 um 18:57

    config:

    Bei URL-Eingabe öffnet sich die Seite am Ende in neuem Tab - das funktioniert.

    Ein Link aus Google öffnet im gleichen Tab. Wie - bitte! - heißt der Config-Eintrag, um diese Links stets in neuem Tab zu öffen?


    Aaaah.... schon geantwortet... mach ich gleich mal ...

    Und dokumentiere es mir auch 8o

    andreas: Scheinst Du ja den ganzen Tag zu machen :) ... Aber davon kann man ja nicht leben.

    Nichts desto trotz.... machst n tollen Job hier!

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 14. November 2021 um 18:52

    Meinen Code als Grundlage... ist echt KLASSE, was Ihr hier macht! Danke!

    Scroll-Leiste: Hat sich auch erledigt:

    Mit diesem Code wächst die Höhe der Tab-Zeile automatisch mit, sobald eine weitere Zeile benötigt - ich brauche also keine Scrollpfeile.

    Ist natürlich wesentlich besser!

    Was macht Ihr im "normalen" Leben?

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 14. November 2021 um 18:37

    HEY ! Ja, das scheint zu funktionieren!

    - Tabs rücken nach Schließen nach

    - geschlossene Tabs bleiben nach Neustart geschlossen

    Das wichtigste wäre geschafft! Werde die Tab-Reihe um eine Zeile vergrößern ( brauche 3 Zeilen ) - aber sonst TOP !

    Ich habe mir das erstmal gesichert und werde mit alten Versionen vergleichen und rumprobieren - hat aber Zeit.

    Ääääh... das scheinen ja meine alten margins-/paddings/colors etc. zu sein!?

    Hast Du daran weiter gearbeitet? Wäre ja mal voll der Hammer !

    Nach wie vor:

    - Scrollpfeile der Tabs rechts sind mit Maus nicht erreichbar

    Neu ( ??? );

    - Beim Verschieben von Tabs landen die immer in der 1. Tab-Zeile - die 2. Tab-Zeile kann ich nicht erreichen.

    KLASSE !


    @Börsenfeger:

    Ich habe an der config nicht viel geändert, weiß aber nicht mehr wo ich mal was geändert habe. Beispiele:

    - Links aus Suchmaschinen immer in neuenm Tab

    - Bei URL-Eingabe immer neuen Tab öffnen

    ... mehr fällt mir grad nicht ein...

    Wo finde ich diese EInträge in der Config?

    Kann ich mir nur die von mir geänderten auflisten lassen ?

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 14. November 2021 um 18:24

    Danke, klar mag ich!

    Die gesamte userChrome.css damit ersetzen ?

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 14. November 2021 um 18:05

    Hallo,

    falls mich einer vermisst hat - bin wieder da. War die Woche echt etwas stressig.

    Habe den letzten Stand von Andreas wieder hergestellt:

    Tabs rücken zwar nach, aber geschlossene Tabs werden bei nächstem Start wieder hergestellt und die Scroll-Leiste der Tabs wird zwar angezeigt, ist aber nicht erreichbar.

    Hatte dazu einähnliches Problem bei Euch gefunden ( Aug. 2021 ), scheint aber nicht bearbeitet worden sein:

    Thema

    Firefox 91.01 öffnet längst geschlossene Tabs zusätzlich zur wiederhergestellten Sitzung

    Hallo zusammen, ich habe folgendes extrem nervendes Problem: Ich habe immer um die 40 Tabs oder mehr geöffnet. "Letzte Sitzung wieder herstellen" ist aktiviert. Schließe ich während einer Sitzung dann verschiedene Tabs, die ich z. B. nicht mehr benötige, werden diese beim nächsten Start zusätzlich zu den Tabs der letzten Sitzung ebenfalls geöffnet. Schließe ich diese wieder und starte FF neu, passiert das ganze wieder...egal, ob FF von mir geschlossen wird oder abgestürzt ist. Beispiel…
    moonson
    21. August 2021 um 15:48

    @Börsenfeger: Guck ich gleich mal nach.

    Sicherlich sind einige CSS-/JS-Einträge uralt - aber wo finde ich denn mal eine Reference (...?), um das selbst machen und rumprobierfen zu können?

    Wenn Ihr mich und Sonntagabende noch mögt... hätte 1-2 Stunden Zeit...

    Danke!

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 4. November 2021 um 17:48

    Hallo Ihr's!

    War gestern und bin heute beruflich etwas im Streß - Kunde droht überraschend mit Auftrag 8o

    Muß Entwürfe bis Montag fertig haben.

    Habe und werde Euch und die Sache :D nicht vergessen!

    Melde mich!

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 2. November 2021 um 18:48

    Ja, geschlossene Tabs bleiben geschlossen !

    So - muß los! Bis morgen!

    Ihr seid schon ne Wucht! DANKE !!!

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 2. November 2021 um 18:45

    Hmmm... also was ich ich eigentlich?

    Ich brauche 4 Tab-Reihen, weitere ggf. durch Scrollen erreichbar

    Die Tabs sollen klein (Höhe, Breite, Schrift) und eng beieinander stehen ( margin:0 0 2px 0; ) - das krieg ich wohl hin, wenn ich die Klassen kenne.

    Das PLUS für neue Tabs und die Scrollpfeile brauch ich natürlich

    Hoffe ich hab grad nix vergessen... :/

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 2. November 2021 um 18:39

    dejavu - Danke, würde ich gerne mal zurück schieben...

    Andreas.

    Naja, er zeigt mehrzeilige Tabs, aber mit sehr großen Abständen und breiten Tabs - das kann ich anpassen...

    Aber kein "Add new Tab +" und die Scrollpfeile für Tabs rechts funzt wieder nicht.

    Gleich Abendbrot... und Kids.... ;)


    user.js:

    Keine Ahnung, was ich da über die Jahre geändert habe. Aber im Moment ist ja keine user.js aktiv

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 2. November 2021 um 18:22

    Voll-Treffer !

    + Geschlossene Tabs werden nach Neustart NICHT wieder geöffnet!

    + Plus-Tab erscheint rechts neben "More Tabs"-Pfeil !

    Alle Tabs nebeneinan der - alle Tabs die nicht angeziegt werden sind über den "More-Tabs-Pfeil" erreichbar.

    Also doch am CSS...

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 2. November 2021 um 17:47

    Mooooment...


    OK:

    user.je gelöscht

    min- / max-width geändert - funzt.

    IMG:

    Die Tab-Zeilen scheinen oben eine leere Tabzeile zu haben ( Tab-Zeile hat margin-top oder vertical-align.... ? ) und das PLUS für nbeuen Tab erscheint neben den Scrollbalken. Evtl- liegen die Scrollbalken ( z-index....) hinter den Tabs ?.

    Wen ich die user.js lösche - wedrden damit meine EInträge in der config gelöscht ?

    Da habe ich auch ebbes geändert ( z.B. Links in Suchmaschinen immer in neuen Tabs öffnene etc. pp. ... )

    Mich irritiert, dass es bei Euch läuft :/

    Bilder

    • screen_tabs_2.jpg
      • 74,08 kB
      • 1.526 × 238
  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 2. November 2021 um 17:40

    Hat er gemacht:

    + Die Tabs rücken beim Schließen eines Tabs nun nach - SUPER !

    - Die Tabs sind aber zu breit (krieg ich evtl. selbst hin )

    - und werden nach schließen beim nächsten FF-Start wieder hergestellt.

    - Die Tab-Scrollbox wird zwar gezeigt, das Scrollen funzt aber nicht.

    Habe mein CSS selbst geprüft: Namen optischen Effekten gibt es eine CSS-Klasse, die da etwas bewirken könnte:

    CSS
    #TabsToolbar .tabbrowser-tab
    {
     /* .... css ..... */
     -moz-box-flex:0 !important; /* ????? */
    }

    Könnte daran was liegen ?

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 2. November 2021 um 17:20

    Hallo Andreas, DeJaVo, milupo,

    danke erstmal für die Antworten - das artet ja richtig in Arbeit aus :*

    Für Andreas: Klasse Antwort von Dir wegen Kids und Abendessen :thumbup: :!:

    Erstmal meine Maßnahmen:

    Habe alle Tab-Extensions deaktiviert ("Geschlossenen Tab wiederherstellen", "SaveTabs", "Tab Mix - Links" ). Die gute Nachricht: Alle geöffneten Tabs bleiben erhalten; die schlechte: Leider werden nach wie vor geschlossene Tabs wieder geöffnet und in die Lücken der geschlossenen Tabs rücken die anderen nicht ein. Es hat sich also nichts verändert.

    Die Extensions kann ich also auch löschen X(

    DeJaVu: Jepp... denke ich auch.

    Neben jener "userChrome.css" im Chrome-Ordner habe ich im Profilordner diese user.js - Datei. Die stammt aber nicht von mir und dürfte damit wenig zu tun haben. Im Chrome-Ordner habe ich eine - inzw. leere ! - "user.js" liegen ( noch aus FF 58 - Zeiten )

    Code
    user_pref("network.http.pipelining.maxrequests", 8);
    user_pref("network.http.request.max-start-delay", 0);
    user_pref("network.http.max-connections", 48);
    user_pref("network.http.max-connections-per-server", 16);
    user_pref("network.http.max-persistent-connections-per-proxy", 16);
    user_pref("network.http.max-persistent-connections-per-server", 8);
    user_pref("browser.turbo.enabled", true);
    user_pref("browser.display.show_image_placeholders", true);
    user_pref("browser.chrome.favicons", false);
    user_pref("browser.urlbar.autocomplete.enabled", true);
    user_pref("browser.cache.memory.capacity", 65536);
    user_pref("content.notify.ontimer", true);
    user_pref("content.interrupt.parsing", true);
    user_pref("content.max.tokenizing.time", 2250000);
    user_pref("content.switch.threshold", 750000);
    user_pref("plugin.expose_full_path", true);
    user_pref("ui.submenuDelay", 0);
    Alles anzeigen

    Zugegeben: Diese CSS ist seit Jahren "gewachsen" bzw. verändert worden.

    Wenn ich Euch richtig verstanden habe, können daraus folgende Zeilen gelöscht werden:

    Code
    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
    
    tabs > arrowscrollbox > scrollbox
    {
    -moz-binding:url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox");
    }

    Was in FF an CSS und JS alles geht - davon habe ich keine Ahnung; dafür habe ich ja Euch ;)

    Aber es wäre schön, wenn wir es hinbekämen, dass geschlossene Tabs geschlossen bleiben und die Lücke geschlossener Tabs aufgefüllt wird ( andere rücken ein / nach ).

    Wenn die CSS alleine bei Euch läuft, dann verstehe ich es nicht...

    FF neu installieren dürfte dann ja evtl. auch nix bringen...

    Dank an Euch!

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 1. November 2021 um 18:29

    Hallo Andreas,

    ok - ich schalte die beiden Erweiterungen mal ab - mache das morgen. Hier gibts gleich Abendbrot und die Kids müssen noch etwas bespasst werden... ;)

    Gespeichert sind die auch irgendwo... muß ich mal im Archiv gucken.

    Danke, melde mich morgen!

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 1. November 2021 um 18:03

    Hallo Andreas,

    na das ging ja schnell - Danke!

    Ja, nutze diese Erweiterungen, aber die sollten ja nur jene Tabs speichern, die ich beim Verlassen noch offen hatte.

    Die geschlossenen Tabs sollten natürlich nicht gespeichert / wieder hergestellt werden.

    Ich habe 2 Reihen Standard-Tabs immer offen, der Rest nach Bedarf.

    Jetzt traue ich mich nicht, die Erweiterungen "Geschlossene Tabs wieder herstellen, Save Tabs" zu deaktivieren, dann wären meine Standard Tabs ja evtl. auch zu.

    Die userCrome.css ( da wurde eniges dran rumgedoktort ), läuft aber:

    CSS
    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
    
    /* ### Tabs-Toolbar ###################################### */
    #TabsToolbar:not(:-moz-lwtheme)
    { 
     color:pink !important;
     margin-top:-11px !important;
    }
    
    #TabsToolbar:-moz-lwtheme 
    { 
     margin-top:-10px !important;
    }
    
    #TabsToolbar
    { 
     margin-bottom:0px !important;
     padding-top:4px !important;
    } 
     
    #menubar-items :not([fokus]), #tabbrowser-tabs :not([fokus])
    {
     opacity:1 !important;
    }
    
    /* ### Mehrzeilige Tabreihen ############################# */
    tabs > arrowscrollbox > scrollbox
    {
     -moz-binding:url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox");
    }
    
    .tab-throbber /*, .tab-icon-image */
    {
     margin-top:0px !important; 
    }
    
    .tabbrowser-tab:not([pinned]) 
    {
     min-width:100px !important; /* Feste Breite des einzelnem Tabs */
    }
    
    /* tabs right position */
    .tabbrowser-tabs 
    {
     margin-right:-41px !important;
    }
    
    tabs > arrowscrollbox 
    { 
     display:block !important;
    }
    
    scrollbox[part][orient="horizontal"] 
    {
     display:flex; /* !important */
     flex-wrap:wrap; /* !important */
     overflow:visible !important;
     overflow-x:hidden !important;
     overflow-y:auto !important;
     min-height:26px !important;
     height:84px !important;
     /*max-height:90px !important;*/ /* calc( 3 * 30px ) für 3 Tab-Zeilen */
     -moz-window-dragging:no-drag !important;
    }
     
    /* Button for scrolling tabs to the left */
    .scrollbutton-up
    {
     display:none;
    }
    
    /* Button for scrolling tabs to the right */
    .scrollbutton-down
    {
     display:none;
    }
    
    /* Höhe für '+'-Button (newtab) */
    .tabs-newtab-button 
    {
     vertical-align:bottom !important;
     /*vertical-align:top !important;*/
     height:var(--tab-min-height:) !important;
    }
    
    /*Drop-down menu for all tabs */
    #alltabs-button
    {
     display:none;
    }
    
    /* Darstellung Tabs aus alter UserChrome   ####################################################### */
    #toolbar-menubar:not([autohide=true]) ~ #TabsToolbar > #tabbrowser-tabs > .tabbrowser-tab > .tab-stack > .tab-background
    {
     border:none!important;
    }
     
    #TabsToolbar .tabbrowser-tab
    {
     max-width:140px !important;
     height:22px !important;
     border:1px solid #0081FD !important;
     /*border-bottom:0 !important; */
     border-top-left-radius:8px !important;
     border-top-right-radius:8px !important;
     /* alt: margin:1px 1px auto 0 !important;*/
     margin:1px 1px 0 0 !important;
     padding:0 !important; 
     font:11px 500 Arial, sans-serif !important;
     color:#FFD700 !important;
     -moz-box-flex:0 !important;
    }
    
    /* TAB bei Mauskontakt: * Hintergrundfarbe, Rahmen */
    #TabsToolbar .tabbrowser-tab:HOVER
    {
     border:1px solid #FFF !important;
        background:#2896FF !important;
        color:#00478A !important;
    }
    
    /* TAB aktiv */
    #TabsToolbar .tabbrowser-tab[selected="true"]
    {
     background:#0081FD !important;
     font-weight:bold !important;
     color:#FFFFB5 !important;
     border-color:#FF0 !important;
    }
    
    /* Tab-Icons */
    #TabsToolbar .tab-icon-image
    {
     height:16px !important;
     width:16px !important;
     margin-left:-8px !important;
     margin-bottom:1px !important;
    }
      
    /* Tab-Close X */
    #TabsToolbar .tab-close-button
    {
     margin-right:-12px !important;
     /*margin-left:auto !important;*/
     /*padding:0 !important;*/
     font-size:16px;
     font-weight:bold;
     color:#FFD700 !important;
    }
    
    #TabsToolbar .tab-close-button .toolbarbutton-icon
    {
     height:16px !important;
     width:16px !important;
     /*background-color:#BDFEFF !important;*/
     /*border-radius:5px !important;*/
    }
    
    /* Close-Button inaktiver Tab */
    tab:not([selected]) .tab-close-button
    {
     display:block !important;
     color:#72B7F9 !important;
     /*margin-right:-5px !important;*/
    }
    
    /* Alle anderen Elemente in TABs */
    #TabsToolbar .tabbrowser-tab *
    {
     background:none !important;
    }
    
    /* Tab-Rahmenelemente entfernen (obere Linie aktiver Tab, Seitentrennlinien) */
    #toolbar-menubar:not([autohide="true"]) + #TabsToolbar .tabbrowser-tab > .tab-stack > .tab-background,
    :root:not([tabsintitlebar]) .tab-background,
    :root[extradragspace] .tab-background
    {
     border-top-style:none !important;
    }
    
    .tabbrowser-tab::AFTER,
    .tabbrowser-tab::BEFORE
    {
     border-left:none !important;
    }
    
    .searchbar-textbox, #urlbar
    {
     border-radius:10px !important;
     min-height:30px !important;
     padding:0 !important;
     margin:0 !important;
     background:#002344;
    }
    
    /* Schrift Tabs nachträglich */
    .tab-text
    {
     font-size:11px !important;
     font-weight:500;
     color:#FFF !important;
    }
    
    /* @-moz-document url-prefix("chrome://browser/content/browser.xhtml") */ 
    .tab-label-container[textoverflow][labeldirection=ltr]:not([pinned]),
    .tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(ltr)
    {
     direction:ltr;
     mask-image:linear-gradient(to left, transparent, black 0em) !important;
    }
    Alles anzeigen

    Ich nutze nur diese CSS, kein Script.

    Beim alten FF 58 hatte ich CSS + JS - lief einwandfrei.

    CSS ist ja nur "Optik", das Schließen und Auffüllen der Lücken sollte mittels JS funktionieren - oder ?

    Danke!


    Hallo DeJaVu

    das weiß ich nicht, mein FF zeigt die Version 94 an - letztes UpDate.

  • Geschlossene Tabs werden nach Neustart wieder hergestellt, Tab-Lücke nicht geschlossen

    • Atarist
    • 1. November 2021 um 17:30

    Hallo allseits!

    Habe 2 Tab-Problemchens - vermutlich mit gleicher Ursache... ?

    1. Geschlossene Tabs werden nach einem Neustart von FF wieder hergestellt.

    2. Tabs rücken nach Schließen eines Tabs nicht nach = füllen also die Lücke nicht auf.

    Ich vermute es liegt an einer JS-Erweiterung, ( userCrome.js - oder wie sie auch heißen und liegen mag... ?) .

    Ich finde diese JS-Datei selbst nicht mehr ( Ordner: D:\Internet\Browser\Firefox\Firefox\Profile.Ralf\xxxxxxxx.default\chrome\userChrome.js ) vielleicht habe ich sie auch selbst gelöscht. Asche auf mein Haupt - ich glaube das lief einmal :cursing: ... siehe JPG-Screenshot:

    Habe eine userChrome.css sowie folgende Plugins installiert:

    Avast, ColorZilla, Download all Images, Easy Screenshot, Speed Dial, Geschlossene Tabs wieder herstellen, Save Tabs, Tab Mix Links, Source Code, View Page Source Butto, WEB Developer

    Danke Euch !

    Gruß Ralf

  • Neur Tab bei neuer URL-Eingabe

    • Atarist
    • 8. Juni 2021 um 22:48

    Jepp... Super, funzt.

    Vielen Dank!

  • Neur Tab bei neuer URL-Eingabe

    • Atarist
    • 8. Juni 2021 um 18:59

    Hallo!

    Wie kann ich FF dazu bringen, bei Eingabe einer neuen URL (... ENTER), diese auch in neuem Tab zu öffnen - also ohne offene Tabs zu übeschreiben und ohne jedesmal "+ TAB" anclicken zu müssen.

    Entweder mit AddOne oder in der about.config oder sonst wie... egal.

    Danke!

  • userChrome Tabs umgestalten, Icons anlegen

    • Atarist
    • 29. November 2020 um 12:04

    Hi...

    Ok, ich habs - ganz ohne JavaScript: Die mehrzeilge Darstellung von Tabs ima ktuellen FF funktioniert so halbwegs:

    Im Selektor scrollbox[part][orient="horizontal"] der userChrome.css die Angabe von "max-height=...." auf "height=..." setzen; bei mir:

    CSS
    scrollbox[part][orient="horizontal"] 
    {
     display:flex;
     flex-wrap:wrap;
     overflow:visible !important;
     overflow-x:hidden !important;
     overflow-y:auto !important;
     /* min-height:26px !important; */
     height:82px !important;
     /* alt / original: max-height:84px !important; bzw. calc( 3 * 30px ) für 3 Tab-Zeilen */
     -moz-window-dragging:no-drag !important;
    }
    Alles anzeigen

    Die Höhe der Tab-Reihen passt sich zwar nicht automatisch an die tatsächlich verwendeten Tabs an und der Platz für geschlossene Tabs bleibt frei ( die Tabs rücken nicht nach ), aber naja... wir werden leider eh mit dem guten, alten FF56 arbeiten müssen.

    Wenn Zeit und Lust, setze ich mich da noch mal im Detail ran - aber so gehts erstmal.


    Für Eure konstruktiven Tipps und Hilfen vielen Dank!

  • userChrome Tabs umgestalten, Icons anlegen

    • Atarist
    • 28. November 2020 um 20:43

    Hi !

    Bin nun wg. der mehrzeiligen Darstellung der Tab-Reihen (Zeilen ) weiter. Die Tab-Reihen werden mehrzeilig dargestellt ( also ohne horizonatles Scrollen ), sondern zumindest schon mal mit vertikalem Scrollen.

    Würden die Tab-Reihen nun auch OHNE zu scrollen mehrreihig ( 4 Reihen ) angezeigt, wäre ich schon mal zufrieden. Ich vermute es liegt an der Einbindung des JS-Codes


    Hier meine Codes, tlw. von Eurer Seite RE: FF70 -Mehrreihige Tabs, hier vom letzten Eintrag von @bofh69 ( 18. März 2020 ) :

    CSS stammt -

    Der OBERE Teil ist nur unwesentlich angepasst ( denke ich ). Es wurden jene CSS-Klassen auskommentiert, welche die Tabs selbst betreffen und die ich in meiner eigenen CSS schon hatte.

    Der UNTERE Teil ist meine alte CSS-Einstellungen, wie ich sie hatte. Die funktioniert nach wie vor - zumindest optisch:

    CSS
    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* default namespace to XUL */
    
    /* Auskommentierte Klassen aus Quelle gelöscht https://www.camp-firefox.de/forum/thema/129255-ff70-mehrreihige-tabs/?postID=1129840#post1129840 */
    
    /* ### Tab-Toolbar ################################### */
    #TabsToolbar:not(:-moz-lwtheme)
    { 
     color:pink !important;
     margin-top:-11px !important;
    }
    
    #TabsToolbar:-moz-lwtheme 
    { 
     margin-top:-10px !important;
    }
    
    #TabsToolbar
    { 
     margin-bottom:0px !important;
     padding-top:10px !important;
    } 
     
    #menubar-items :not([fokus]), #tabbrowser-tabs :not([fokus])
    {
     opacity:1!important;
    }
    
    /* ### Mehrzeilige Tabreihen NEU ! ############################################### */
    tabs > arrowscrollbox > scrollbox
    {
     -moz-binding:url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox");
    }
    
    .tab-throbber /*, .tab-icon-image */
    {
     margin-top:0px !important; 
    }
    
    .tabbrowser-tab:not([pinned]) 
    {
     min-width:100px !important; /* Feste Breite des einzelnem Tabs */
    }
    
    /* tabs right position */
    .tabbrowser-tabs 
    {
     margin-right:-41px !important;
    }
    
    tabs > arrowscrollbox 
    { 
     display:block !important;
    }
    
    scrollbox[part][orient="horizontal"] 
    {
     display:flex; /* !important */
     flex-wrap:wrap; /* !important */
     overflow:visible !important;
     overflow-x:hidden !important;
     overflow-y:auto !important;
     min-height:26px !important;
     max-height:78px !important; /* Original: calc( 3 * 30px ) für 3 Tab-Zeilen */
     -moz-window-dragging:no-drag !important;
    }
     
    /* Button Tab-Scrolling nach LINKS */
    .scrollbutton-up
    {
     display:none; /*  !important; */
    }
    
    /* Button Tab-Scrolling nach RECHTS */
    .scrollbutton-down
    {
     display:none; /*  !important; */
    }
    
    /* Height for '+'-Button (newtab) */
    .tabs-newtab-button 
    {
     vertical-align:bottom !important;
     /*vertical-align:top !important;*/
     height:var(--tab-min-height:) !important;
    }
    
    /*Drop-down menu for all tabs */
    #alltabs-button
    {
     display:none; /*  !important; */
    }
    
    /* ###  Darstellung Tabs aus alter UserChrome ####################################################### */
    #toolbar-menubar:not([autohide=true]) ~ #TabsToolbar > #tabbrowser-tabs > .tabbrowser-tab > .tab-stack > .tab-background
    {
     border:none!important;
    }
     
    #TabsToolbar .tabbrowser-tab
    {
     max-width:160px !important;
     height:28px !important;
     border:1px solid #0081FD !important;
     border-bottom:0 !important; 
     border-top-left-radius:8px !important;
     border-top-right-radius:8px !important;
     margin:0 !important;
     padding:0 !important; 
     font:11px 500 Arial, sans-serif !important;
     color:#FFD700 !important;
     -moz-box-flex:0 !important;
    }
    
    /* TAB bei HOVER: */
    #TabsToolbar .tabbrowser-tab:HOVER
    {
     border:1px solid #FFF !important;
     background:#2896FF !important;
     color:#00478A !important;
    }
    
    /* TAB aktiv */
    #TabsToolbar .tabbrowser-tab[selected="true"]
    {
     background:#0081FD !important;
     font-weight:700 !important;
     color:#FFF !important;
     border-color:#FF0 !important;
    }
    
    /* Tab-Icons links */
    #TabsToolbar .tab-icon-image
    {
     height:20px !important;
     width:20px !important;
     margin-left:-6px !important;
     margin-bottom:1px !important;
    }
      
    /* Tab-Close X rechts */
    #TabsToolbar .tab-close-button
    {
     margin-right:-6px !important;
     margin-left:auto !important;
     color:#FFD700 !important;
    }
    
    #TabsToolbar .tab-close-button .toolbarbutton-icon
    {
     height:20px !important;
     width:20px !important;
    }
    
    /* Close-Button X bei Tab inaktiv */
    tab:not([selected]) .tab-close-button
    {
     display:block !important;
     color:#72B7F9 !important;
     margin-right:-5px !important;
    }
    
    /* Alle anderen Elemente in TABs */
    #TabsToolbar .tabbrowser-tab *
    {
     background:none !important;
    }
    
    /* Tab-Rahmenelemente entfernen (obere Linie aktiver Tab, Seitentrennlinien) */
    #toolbar-menubar:not([autohide="true"]) + #TabsToolbar .tabbrowser-tab > .tab-stack > .tab-background,
    :root:not([tabsintitlebar]) .tab-background,
    :root[extradragspace] .tab-background
    {
     border-top-style:none !important;
    }
    
    .tabbrowser-tab::AFTER,
    .tabbrowser-tab::BEFORE
    {
     border-left:none !important;
    }
    
    /*
    .searchbar-textbox, #urlbar
    {
     border-radius:16px !important;
     min-height:35px !important;
     padding:0 !important;
     margin:0 2px !important;
    }
    */
    
    /* Schrift in Tabs nachträglich aktualisieren */
    .tab-text
    {
     font-size:11px !important;
     font-weight:500;
     color:#FFF !important;
    }
    
    /* durch eigene Klasse ersetzt
    tab
    {
        border:1px solid #FF0 !important;
        background:#00478A !important;
        border-right:0 !important;
        border-bottom:0 !important;
        border-top-left-radius:8px !important;
        border-top-right-radius:8px !important;
        color:red !important;
    }
    */
    
    /* Tab HOVER nachträglich aktualisieren */
    tab:HOVER
    {
     background:#FF0 !important;
     color:#00478A !important;
    }
    
    /* @-moz-document url-prefix("chrome://browser/content/browser.xhtml") 
    - wird nicht ausgeführt ??? */ 
    .tab-label-container[textoverflow][labeldirection=ltr]:not([pinned]),
    .tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(ltr)
    {
     direction:ltr;
     mask-image:linear-gradient(to left, transparent, black 0em) !important;
    }
    Alles anzeigen

    Falls es ein Fehler sein sollte: Es fehlen die "!important" Eigenschaften bei:

    scrollbox[part][orient="horizontal"]

    {

    display:flex; /* !important */

    flex-wrap:wrap; /* !important */

    /* .... */

    }


    Und hier die JS-Datei im Original ( nur für mich neu formatiert :(

    Code
    // JavaScript Document
    // == UserScript ==
    // @name zzzz - MultiRowTab_LiteforFx48.uc.js
    // @namespace http : // space.geocities.yahoo.co.jp / gl / alice0775
    // @description ? ? ? ? ? ? ? ? ? ? CSS ? ? ? ? ? ? ? Lite ? ? ? ? ?
    // @include main
    // @compatibility Firefox 71
    // @author Alice0775
    // @version 2016 / 08 / 05 00 : 00 Firefox 48
    // @version 2016 / 05 / 01 00 : 01 hide favicon if busy
    // @version 2016 / 03 / 09 00 : 01 Bug 1222490 - Actually remove panorama for Fx45 +
    // @version 2016 / 02 / 09 00 : 01 workaround css for lwt
    // @version 2016 / 02 / 09 00 : 00
    // == /UserScript==
    "use strict";
    
    MultiRowTabLiteforFx();
    function MultiRowTabLiteforFx()
    {
     var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
     var uri = makeURI('data:text/css;charset=UTF=8,');
     sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
     var css = tabs tab
     {
      border - left : solid 1px hsla(0, 0 % , 50 % , .5) ! important;
      border - right : solid 1px hsla(0, 0 % , 50 % , .5) ! important;
     }
     
     tabs tab : after,
     tabs tab : before
     {
      display : none ! important;
     };
     
     var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
     var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
     sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
    
     gBrowser.tabContainer.clearDropIndicator = function()
     {
      var tabs = this.allTabs;
      for (let i = 0, len = tabs.length; i < len; i ++ )
      {
       tabs[i].style.removeProperty("border-left-color");
       tabs[i].style.removeProperty("border-right-color");
      }
     }
     gBrowser.tabContainer.addEventListener("dragleave", function(event)
     {
      this.clearDropIndicator(event);
     }
     , true);
     gBrowser.tabContainer.on_dragover = function(event)
     {
      this.clearDropIndicator();
      var effects = this._getDropEffectForTabDrag(event);
      var ind = this._tabDropIndicator;
      if (effects == "" || effects == "none")
      {
       ind.hidden = true;
       return;
      }
      event.preventDefault();
      event.stopPropagation();
      var arrowScrollbox = this.arrowScrollbox;
      // autoscroll the tab strip if we drag over the scroll
      // buttons, even if we aren't dragging a tab, but then
      // return to avoid drawing the drop indicator
      var pixelsToScroll = 0;
      if (this.getAttribute("overflow") == "true")
      {
       switch (event.originalTarget)
       {
        case arrowScrollbox._scrollButtonUp :
         pixelsToScroll = arrowScrollbox.scrollIncrement * - 1;
        break;
        case arrowScrollbox._scrollButtonDown :
         pixelsToScroll = arrowScrollbox.scrollIncrement;
        break;
       }
       if (pixelsToScroll)
       {
        arrowScrollbox.scrollByPixels(
        (RTL_UI ? - 1 : 1) * pixelsToScroll,
        true
        );
       }
      }
    
      /*
      let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
      if (
      (effects == "move" || effects == "copy") &&
      this == draggedTab.container
      )
      {
       ind.hidden = true;
       if ( ! this._isGroupTabsAnimationOver()) {
       // Wait for grouping tabs animation to finish
       return;
      }
      this._finishGroupSelectedTabs(draggedTab);
      if (effects == "move")
      {
       this._animateTabMove(event);
       return;
      }
      }
      this._finishAnimateTabMove();
      */
    
      if (effects == "link")
      {
       let tab = this._getDragTargetTab(event, true);
       if (tab)
       {
        if ( ! this._dragTime) this._dragTime = Date.now();
        if (Date.now() >= this._dragTime + this._dragOverDelay) this.selectedItem = tab;
        ind.hidden = true;
        return;
       }
      }
      
      var rect = arrowScrollbox.getBoundingClientRect();
      var newMargin;
      if (pixelsToScroll)
      {
       // if we are scrolling, put the drop indicator at the edge
       // so that it doesn't jump while scrolling
       let scrollRect = arrowScrollbox.scrollClientRect;
       let minMargin = scrollRect.left - rect.left;
       let maxMargin = Math.min(
       minMargin + scrollRect.width,
       scrollRect.right
       );
       
       if (RTL_UI)
       {
        [minMargin, maxMargin] = 
        [
         this.clientWidth - maxMargin,
         this.clientWidth - minMargin,
        ];
       }
       newMargin = pixelsToScroll > 0 ? maxMargin : minMargin;
      }
      else
      {
       let newIndex = this._getDropIndex(event, effects == "link");
       let children = this.allTabs;
       if (newIndex == children.length)
       {
        let tabRect = children[newIndex - 1].getBoundingClientRect();
        if (RTL_UI) newMargin = rect.right - tabRect.left;
        else  newMargin = tabRect.right - rect.left;
        children[newIndex - 1].style.setProperty("border-right-color", "red", "important");
       }
       else
       {
        let tabRect = children[newIndex].getBoundingClientRect();
        if (RTL_UI) newMargin = rect.right - tabRect.right;
        else newMargin = tabRect.left - rect.left;
        children[newIndex].style.setProperty("border-left-color", "red", "important");
       }
      }
      
      // ind.hidden = false;
      ind.hidden = true;
      newMargin += ind.clientWidth / 2;
      if (RTL_UI) newMargin *= - 1;
      ind.style.transform = "translate(" + Math.round(newMargin) + "px)";
      ind.style.marginInlineStart = - ind.clientWidth + "px";
     }
     
     gBrowser.tabContainer.on_drop = function(event)
     {
      this.clearDropIndicator();
      var dt = event.dataTransfer;
      var dropEffect = dt.dropEffect;
      var draggedTab;
      let movingTabs;
      if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE)
      {
       // tab copy or move
       draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
       // not our drop then
       if ( ! draggedTab)  return;
       movingTabs = draggedTab._dragData.movingTabs;
       draggedTab.container._finishGroupSelectedTabs(draggedTab);
      }
      this._tabDropIndicator.hidden = true;
      event.stopPropagation();
      if (draggedTab && dropEffect == "copy")
      {
       // copy the dropped tab (wherever it's from)
       let newIndex = this._getDropIndex(event, false);
       let draggedTabCopy;
       for(let tab of movingTabs)
       {
        let newTab = gBrowser.duplicateTab(tab);
        gBrowser.moveTabTo(newTab, newIndex ++ );
        if (tab == draggedTab)  draggedTabCopy = newTab;
       }
       if(draggedTab.container != this || event.shiftKey) this.selectedItem = draggedTabCopy;
      }
      else if(draggedTab && draggedTab.container == this)
      {
       let oldTranslateX = Math.round(draggedTab._dragData.translateX);
       let tabWidth = Math.round(draggedTab._dragData.tabWidth);
       let translateOffset = oldTranslateX % tabWidth;
       let newTranslateX = oldTranslateX - translateOffset;
       if (oldTranslateX > 0 && translateOffset > tabWidth / 2)  newTranslateX += tabWidth;
       else if (oldTranslateX < 0 && - translateOffset > tabWidth / 2) newTranslateX -= tabWidth;
       let dropIndex = this._getDropIndex(event, false);
       // "animDropIndex" in draggedTab._dragData &&
       // draggedTab._dragData.animDropIndex;
       let incrementDropIndex = true;
       if(dropIndex && dropIndex > movingTabs[0]._tPos)
       {
        dropIndex -- ;
        incrementDropIndex = false;
       }
       let animate = gBrowser.animationsEnabled;
       if(oldTranslateX && oldTranslateX != newTranslateX && animate)
       {
        for (let tab of movingTabs)
        {
         tab.setAttribute("tabdrop-samewindow", "true");
         tab.style.transform = "translateX(" + newTranslateX + "px)";
         let onTransitionEnd = transitionendEvent = >
         {
          if(transitionendEvent.propertyName != "transform" ||
             transitionendEvent.originalTarget != tab ) return;
          tab.removeEventListener("transitionend", onTransitionEnd);
          tab.removeAttribute("tabdrop-samewindow");
          this._finishAnimateTabMove();
          if(dropIndex !== false)
          {
           gBrowser.moveTabTo(tab, dropIndex);
           if(incrementDropIndex) dropIndex ++ ;
          }
          gBrowser.syncThrobberAnimations(tab);
         }
         ;
         tab.addEventListener("transitionend", onTransitionEnd);
        }
       }
       else
       {
        this._finishAnimateTabMove();
        if (dropIndex !== false)
         for (let tab of movingTabs)
         {
          gBrowser.moveTabTo(tab, dropIndex);
          if (incrementDropIndex) dropIndex ++ ;
         }
       }
      }
      else if(draggedTab)
      {
       let newIndex = this._getDropIndex(event, false);
       let newTabs = [];
       for(let tab of movingTabs)
       {
        let newTab = gBrowser.adoptTab(tab, newIndex ++ , tab == draggedTab);
        newTabs.push(newTab);
       }
       // Restore tab selection
       gBrowser.addRangeToMultiSelectedTabs(
       newTabs[0],
       newTabs[newTabs.length - 1]
       );
      }
      else
      {
       // Pass true to disallow dropping javascript : or data : urls
       let links;
       try links = browserDragAndDrop.dropLinks(event, true);
       catch (ex) {}
       if ( ! links || links.length === 0) return;
       let inBackground = Services.prefs.getBoolPref(
       "browser.tabs.loadInBackground"
       );
       if(event.shiftKey) inBackground = ! inBackground;
       let targetTab = this._getDragTargetTab(event, true);
       let userContextId = this.selectedItem.getAttribute("usercontextid");
       let replace = ! ! targetTab;
       let newIndex = this._getDropIndex(event, true);
       let urls = links.map(link = > link.url);
       let csp = browserDragAndDrop.getCSP(event);
       let triggeringPrincipal = browserDragAndDrop.getTriggeringPrincipal(
       event
       );
       (async () = >
       {
        if( urls.length >=Services.prefs.getIntPref("browser.tabs.maxOpenBeforeWarn"))
        {
         // Sync dialog cannot be used inside drop event handler.
         let answer = await OpenInTabsUtils.promiseConfirmOpenInTabs(
         urls.length,
         window
         );
         if( ! answer) return;
        }
        gBrowser.loadTabs(urls,
        {
         inBackground,
         replace,
         allowThirdPartyFixup : true,
         targetTab,
         newIndex,
         userContextId,
         triggeringPrincipal,
         csp,
        }
        );
       }
       )();
      }
      if(draggedTab) delete draggedTab._dragData;
     }
     gBrowser.tabContainer._getDropIndex = function(event, isLink)
     {
      var tabs = this.allTabs;
      var tab = this._getDragTargetTab(event, isLink);
      if ( ! RTL_UI)
      {
       for (let i = tab ? tab._tPos : 0; i < tabs.length; i ++ )
       {
        if (
        event.screenY <
        tabs[i].screenY + tabs[i].getBoundingClientRect().height
        )
        {
         if (
         event.screenX <
         tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
         )
         {
          return i;
         }
         if (
         event.screenX >
         tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 &&
         event.screenX <
         tabs[i].screenX + tabs[i].getBoundingClientRect().width
         )
         {
          return i + 1;
         }
        }
       }
      }
      else
      {
       for (let i = tab ? tab._tPos : 0; i < tabs.length; i ++ )
       {
        if (
        event.screenY <
        tabs[i].screenY + tabs[i].getBoundingClientRect().height
        )
        {
         if (
         event.screenX <
         tabs[i].screenX + tabs[i].getBoundingClientRect().width &&
         event.screenX >
         tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
         ) return i;
         if ( event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 ) return i + 1;
        }
       }
      }
      return tabs.length;
     }
    }
    Alles anzeigen

    In der JS-Datei hatte ich auch schon einiges angepasst, es läuft aber auch im Original nicht. Hier das Original von Euch.

    Habe versch. Varianten probiert, die JS-Datei abzulegen, z.B.: als unter:

    - "userChrome.js" im Profil-Ordner /chrome/

    - D:\Internet\Browser\Firefox\Firefox\defaults\pref\MultiRowTab70Plus.uc.js

    - u.a. ....

    Ich vermute mal vorsichtig, das Problem der "Nicht-Darstellung" mehrzeilige Tabs liegt an der Ausführung dieses Scriptes, bzw. dass "function MultiRowTabLiteforFx()" von FF gar nicht ausgeführt / aufgerufen wird.


    Und noch eine "Kleinigkeit":

    Wenn ich ein Tab schließe, wird der Platz dafür jetzt nicht freigegeben - es entstehen also "Lücken" in den Tab-Reihen des geschlossenen Tabs. Das ist aber erstmal nebensächlich...


    Danke Euch!

    Allseits einen schönen 1. Advent !

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon