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. GermanFreme82

Beiträge von GermanFreme82

  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 7. Juni 2021 um 16:39
    Zitat von 2002Andreas
    Zitat von GermanFreme82

    Jetzt gibt es den Scrollbalken am rechten Rand leider nicht mehr

    Der kommt erst nach der 5ten Reihe.

    Ändern musst du das im Script in Zeile 46.

    Und zwar hier die 5 in der oberen Reihe rechts ändern:

    Code
    scrollbox[part][orient="horizontal"] { max-height: calc(calc(8px + var(--tab-min-height)) * 5); } /* Anzahl der Tabzeilen(Standard = 5 Zeilen) wenn Proton true */

    Ok das wußte ich nicht und habs gleich mal auf 3 geändert und nun kommt NACH Zeile 3 wieder der Scrollbalken.
    Das Problem mit dem überlappen ist jedoch nach wie vor noch da.
    Auf dem Foto siehst du was ich meine.

    Ich muß dann nach UNTEN scrollen, damit die untere Zeile sich nicht in die Website reinschiebt.
    Vorher gab es das Problem jedoch nicht.

  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 7. Juni 2021 um 16:23
    Zitat von 2002Andreas
    Zitat von GermanFreme82

    ab der 3 Tab-Reihe dann ein BUG drinne.

    Ändere das Script jetzt bitte mal:

    JavaScript
    // ==UserScript==
    // @name           zzzz-MultiRowTab_LiteforFx48.uc.js
    // @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description    Experimentelle CSS Version für Mehrzeilige Tableiste
    // @include        main
    // @compatibility  Firefox 89
    // @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 css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
    
        /* Symbolleiste Sortieren */
        #titlebar { -moz-box-ordinal-group: 2; }
    
        /* Anpassung der Symbolleiste */
        :root[tabsintitlebar="true"][sizemode="maximized"] #navigator-toolbox { padding-top: 8px !important; }
        #titlebar,#tabbrowser-tabs { -moz-appearance: none !important; }
    
        /* Titelleisten Schaltflächen anpassen */
        :root[tabsintitlebar="true"] #nav-bar .titlebar-buttonbox > .titlebar-button { width: 46px !important; }
        #nav-bar #window-controls > toolbarbutton { width: 36px !important; }
        #nav-bar #window-controls toolbarbutton:not([id="close-button"]):hover { background-color: var(--toolbarbutton-hover-background) !important; }
    
        /* Mehrzeilige Tableiste */
        box.scrollbox-clip[orient="horizontal"] { display: block; }
        scrollbox[part][orient="horizontal"] {
            display: flex;
            flex-wrap: wrap;
            overflow-x: hidden;
            overflow-y: auto; }
        tabs tab[fadein]:not([pinned]) { flex-grow: 1; }
        tabs tab { overflow: hidden; }
        tab > .tab-stack { width: 100%; }
        @media not (-moz-proton) {
            scrollbox[part][orient="horizontal"] { max-height: calc(var(--tab-min-height) * 5); } /* Anzahl der Tabzeilen(Standard = 5 Zeilen) wenn Proton false */
            tabs tab,#tabs-newtab-button { height: var(--tab-min-height); } }
        @media (-moz-proton) {
            scrollbox[part][orient="horizontal"] { max-height: calc(calc(8px + var(--tab-min-height)) * 5); } /* Anzahl der Tabzeilen(Standard = 5 Zeilen) wenn Proton true */
            tabs tab,#tabs-newtab-button { height: calc(8px + var(--tab-min-height)); } }
        #tabs-newtab-button { margin: 0 !important; }
    
        /* Bei Überschreitung der angegebenen Zeilenanzahl, mit der Maus,    
           über die dann eingeblendetet Scrolleiste zur gewünschten Zeile wechseln */
        scrollbox[part][orient="horizontal"] > scrollbar { -moz-window-dragging: no-drag; }
    
        /* Ausblenden */
        tabs tab:not([fadein]),
        #toolbar-menubar[autohide="false"] ~ #nav-bar hbox.titlebar-buttonbox-container { display: none; }
    
        /* --- Ziehbereich der Tab-Leiste --- */
        /* Anpassung */
        hbox.titlebar-spacer[type="pre-tabs"] { width: 0px !important; } /* Linker Ziehbereich: Standard 40px  */
        hbox.titlebar-spacer[type="post-tabs"] { width: 0px !important; } /* Rechter Ziehbereich: Standard 40px  */
        /* ↓ Wenn Sie die linke und rechte Seite des CSS-Codes auskommentieren und den CSS-Code aktivieren, 
           können Sie den Ziehbereich links einblenden, der beim Maximieren des Fensters ausgeblendet wird.  */
        /* :root:not([sizemode="normal"]) hbox.titlebar-spacer[type="pre-tabs"] { display: block !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.AGENT_SHEET);
    
        if(location.href !== 'chrome://browser/content/browser.xhtml') return;
    
        // Menüleiste an den oberen Rand der Symbolleiste verschieben
        document.getElementById("titlebar").parentNode.insertBefore(document.getElementById("toolbar-menubar"),document.getElementById("titlebar"));
    
        // Titelleisten Schaltflächen in die Tableiste an den Rechten Rand verschieben
        document.getElementById("PanelUI-button").appendChild(document.querySelector("#TabsToolbar .titlebar-buttonbox-container"));
        document.getElementById("PanelUI-button").appendChild(document.getElementById("window-controls"));
    
        // Scroll-Buttons und Spacer in der Tab-Leiste ausblenden shadowRoot 
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.getElementById('scrollbutton-up').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.getElementById('scrollbutton-down').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.querySelector('[part="overflow-start-indicator"]').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.querySelector('[part="overflow-end-indicator"]').style.display = "none";
    
        // drag & drop & DropIndicator
    
        gBrowser.tabContainer.clearDropIndicator = function() {
            let tabs = this.allTabs;
            for (let i = 0, len = tabs.length; i < len; i++) {
                tabs[i].removeAttribute("style");
            }
        }
        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);
            let draggedTab = this._getDropIndex(event, false);
            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();
                    let tabRect = children[newIndex - 1].style.setProperty("box-shadow","-1px 0 0 red inset,1px 0 0 red","important");
                    if (RTL_UI) {
                        newMargin = rect.right - tabRect.left;
                    } else {
                        newMargin = tabRect.right - rect.left;
                    }
                } else {
                 // let tabRect = children[newIndex].getBoundingClientRect();
                    let tabRect = children[newIndex].style.setProperty("box-shadow","1px 0 0 red inset,-1px 0 0 red","important");
                    if (RTL_UI) {
                        newMargin = rect.right - tabRect.right;
                    } else {
                        newMargin = tabRect.left - rect.left;
                    }
                }
            }
    
            ind.hidden = false;
            newMargin += ind.clientWidth / 2;
            if (RTL_UI) {
                newMargin *= -1;
            }
            ind.style.transform = "translate(" + Math.round(newMargin) + "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;
                }
                if (oldTranslateX && oldTranslateX != newTranslateX && !gReduceMotion) {
                    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 &&
                        event.screenY <
                        tabs[i].screenY + tabs[i].getBoundingClientRect().height
                    ) {
                        if (
                            event.screenX >
                            tabs[i].screenX &&
                            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 &&
                        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 &&
                            event.screenX >
                            tabs[i].screenX
                        ) {
                            return i + 1;
                        }
                    }
                }
            }
            return tabs.length;
        }
    
    }
    Alles anzeigen

    Habs geändert und es ist nun fast geschafft ... ja jetzt passiert was neues lustiges (bitte nicht böse sein).
    Das mit den 3 Tab-Reihen geht zwar, aber nun habe ich keine scrollbaren Tab-Reihen mehr, sondern immer eine neue Tab-Reihe unter der anderen. Vorher kam nach Tab-Reihe 2, wenn ich einen weiteren Tab öffne Reihe 3 und der Scrollbalken rechts.
    Jetzt gibt es den Scrollbalken am rechten Rand leider nicht mehr (siehe Foto).

  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 7. Juni 2021 um 16:14
    Zitat von 2002Andreas
    Zitat von GermanFreme82

    Das passiert jetzt

    Wieder eine neue userChrome.css

    In Zeile 10 kannst du den Abstand noch verändern.

    CSS
    /* -----------------------------*/
    /* Tab: Optische Anpassungen    */ 
    /* -----------------------------*/
     
    /* -----------------------------*/
    /* Tab: Optische Anpassungen */
    /* -----------------------------*/
    
    #TabsToolbar {
    margin-bottom: -8px !important;
    }
    
    /* Feste Breite der Tabs */
    .tabbrowser-tab:not([pinned]) {
    min-width: 180px !important; 
    max-width: 180px !important;  
    }
    
    /* Tab-Höhe  */
    .tabbrowser-tab {
        min-height: 4px !important;
        max-height: 35px !important;
        vertical-align: bottom !important;
        margin-top: 1px !important; /* oben 1px weniger */
        margin-bottom: 1px !important; /* unten 1px weniger */
        margin-right: 3px !important; /* Abstand zwischen den Tabs */
    
    }
    
    /* Icon im Tab versetzt */
    #TabsToolbar .tab-icon-image {
        height: 16px !important; /* Höhe */
        width:  16px !important; /* Breite */
        margin-left: -2px !important; /* nach links versetzt */
        margin-bottom: 2px !important; /* Abstand von unten */
    }
    
    /* Tabschliessen-Button / Farbe des Kreuzes */
    .tab-close-button {
        color: white !important;
    }
    
    /* NewTab-Button + Farbe */
    #tabs-newtab-button {
        color: white !important;
    }
    
    /*------------------*/
    /* Tab-Hintergrund  */
    /*------------------*/
    
    .tabbrowser-tab[selected] {
        border-radius: 80px !important;
    }
    
    .tabbrowser-tab[selected] .tab-content {
        background: #F09800 !important;
        border-radius: 80px !important;
    }
    
    .tabbrowser-tab:not([selected]) .tab-content {
        background: #C39D74 !important;
        border-radius: 80px !important;
    }    
    
    /* ------------------------------*/
    /* Schrift: Optische Anpassungen */ 
    /* ------------------------------*/
    
    /* Deckkraft der Schrift */
    #tabbrowser-tabs :not([fokus]){
        opacity: 1 !important;
    }
    
    /* Schrift inaktiver Tab */
    .tabbrowser-tab .tab-label {
        font-size:   12px !important;
        color: white !important;
    }
    
    /* Schrift aktiver Tab */    
    .tabbrowser-tab .tab-label[selected="true"] {
        color: white !important;  
        font-size:   12px !important;
    }
    
    /* ------------------------*/
    /* störende Teile entfernt */ 
    /* ------------------------*/
        
    /* Tab-Rahmen entfernen */
    #TabsToolbar .tabbrowser-tab[visuallyselected="true"],
    #TabsToolbar .tabbrowser-tab,
    #TabsToolbar .tabbrowser-tab .tab-background {
        background: none !important;
        border-top: none !important;
        outline: none !important;
    }
    
    /* Tab-Separatoren entfernen */
    .tabbrowser-tab::after,
    .tabbrowser-tab::before {
      opacity: 0 !important;
      border-image: unset !important;
      border-image-slice: none !important;
      width: 2 !important;
    }
    
    /* obere Tab-Line entfernen */
    #TabsToolbar .tabbrowser-tab .tab-line {
        display: none !important; 
    }
    
    /* doppelte graue Linie unter der Tabs-Toolbar entfernt */
    #nav-bar {
        box-shadow: none !important;
    }
    
    /*----------------------------------------*/
    /* Megabar (Url-Bar) die Ecken abgerundet */
    /*----------------------------------------*/
    
    /* Adressleiste / Erhöhung wird verhindert */
    #urlbar-background {
        background: #f8f8ff ! important; /* Hintergrund */
        border: 1px solid #5badff !important;
        border-radius: 50px !important; }
    #urlbar[breakout][breakout-extend] {
        top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
        left: 0 !important;
        width: 100% !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-input-container {
        height: var(--urlbar-height) !important;
        padding-block: 0 !important;
        padding-inline: 0 !important; }
    #urlbar[breakout][breakout-extend][breakout-extend-animate] > #urlbar-background {
       animation-name: none !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-background {
        box-shadow: none !important;
    }    
    
    /* Suchleiste Ecken abrunden */
    #searchbar {
        background: #f8f8ff ! important; /* Hintergrund */
        border-radius: 50px !important;
        border: 1px solid #5badff !important;
    }  
         
    /* -------------------------------------*/
    /* Kontext-Menü / Einträge ausgeblendet */ 
    /* -------------------------------------*/
    #context-viewinfo,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes,
    #_lympha-menuitem-_lympha-ctx-btn {
      display: none !important;
    }
    #context_pinTab,
    #context_moveTabOptions,
    #context_reopenInContainer,
    #context_sendTabToDevice,
    #context-sendlinktodevice,
    #context-inspect-a11y,
    #context-openlink,
    #context-openlinkprivate,
    #context-bookmarklink,
    #context-inspect,
    #context-openlinkinusercontext-menu,
    #context-viewpartialsource-selection,
    #context-sep-sendlinktodevice,
    #inspect-separator,
    #context-sendpagetodevice,
    #context-viewbgimage,
    #context-selectall,
    #context-viewsource,
    #context-sep-sendpagetodevice,
    #context-sep-viewbgimage,
    #contentAreaContextMenu > menuseparator:nth-child(93),
    #context-sendimage,
    #context-setDesktopBackground {
       display: none !important;
    }
    #context_duplicateTab {
        -moz-box-ordinal-group: 0 !important;
    }
    #context-openlinkintab {
       -moz-box-ordinal-group: 0 !important;
    }
    #context-copylink {
       -moz-box-ordinal-group: 0 !important;
    }
    #copyplaintext_eros_man-menuitem-_copyPlainText {
      -moz-box-ordinal-group: 0 !important;
    }
    
    #context-copy {
      -moz-box-ordinal-group: 0 !important;  
    }
    #_5dd73bb9-e728-4d1e-990b-c77d8e03670f_-menuitem-_search_engine_menu {
        -moz-box-ordinal-group: 20 !important;
    }
    #context-print-selection,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes-selection {
    display: none !important;
    }
    menuitem[label="Ein Schlüsselwort für diese Suche hinzufügen…"] {
         display: none !important;
    }
    
    
    
    /*--------------------------------------------*/
    /* Ordnersymbole für Symbolleiste und Sidebar */   
    /*--------------------------------------------*/
     
    @-moz-document url-prefix(chrome://browser/content/browser.xhtml),
    url("chrome://browser/content/places/places.xhtml") {
    .bookmark-item[container="true"]{
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    
    @-moz-document url("chrome://browser/content/places/bookmarksSidebar.xhtml") {
    treechildren::-moz-tree-image(container) {
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    Alles anzeigen

    Hab ich gemacht und wir kommen dem Ziel schon etwas näher, aber es ist leider (tut mir wirklich leid kann ja nix dafür) ab der 3 Tab-Reihe dann ein BUG drinne.

    Bis Tab-Reihe 2 (10 Tabs bei mir) geht alles einwandfrei, ABER so bald ich Reihe 3 erreiche, dann schieben sich die unteren Tabs komisch halb ins Bild, halb daneben. Erst wenn ich nach unten scrolle um die unterste Reihe zu sehen, dann wird es richtig dargestellt, aber so bald ich wieder zu Tab-Reihe 2 hochscrolle, dann schiebt sich Reihe 3 du weißt schon wo hin ;) (siehe beide Fotos).

    2 Tab-Reihen = alles OK


    3 Tab Reihen = BUG

  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 7. Juni 2021 um 15:57
    Zitat von 2002Andreas
    Zitat von GermanFreme82

    dieser Abstand unter der Tableiste ist leider immer noch da.

    Bitte wieder die kompl. userChrome.css Datei austauschen.

    In Zeile 10 kannst du die Höhe noch anpassen wenn es bei dir nicht reicht.

    CSS
    /* -----------------------------*/
    /* Tab: Optische Anpassungen    */ 
    /* -----------------------------*/
     
    /* -----------------------------*/
    /* Tab: Optische Anpassungen */
    /* -----------------------------*/
    
    #TabsToolbar {
      max-height: 35px !important;
    }
    
    /* Feste Breite der Tabs */
    .tabbrowser-tab:not([pinned]) {
    min-width: 180px !important; 
    max-width: 180px !important;  
    }
    
    /* Tab-Höhe  */
    .tabbrowser-tab {
        min-height: 4px !important;
        max-height: 35px !important;
        vertical-align: bottom !important;
        margin-top: 1px !important; /* oben 1px weniger */
        margin-bottom: 1px !important; /* unten 1px weniger */
        margin-right: 3px !important; /* Abstand zwischen den Tabs */
    
    }
    
    /* Icon im Tab versetzt */
    #TabsToolbar .tab-icon-image {
        height: 16px !important; /* Höhe */
        width:  16px !important; /* Breite */
        margin-left: -2px !important; /* nach links versetzt */
        margin-bottom: 2px !important; /* Abstand von unten */
    }
    
    /* Tabschliessen-Button / Farbe des Kreuzes */
    .tab-close-button {
        color: white !important;
    }
    
    /* NewTab-Button + Farbe */
    #tabs-newtab-button {
        color: white !important;
    }
    
    /*------------------*/
    /* Tab-Hintergrund  */
    /*------------------*/
    
    .tabbrowser-tab[selected] {
        border-radius: 80px !important;
    }
    
    .tabbrowser-tab[selected] .tab-content {
        background: #F09800 !important;
        border-radius: 80px !important;
    }
    
    .tabbrowser-tab:not([selected]) .tab-content {
        background: #C39D74 !important;
        border-radius: 80px !important;
    }    
    
    /* ------------------------------*/
    /* Schrift: Optische Anpassungen */ 
    /* ------------------------------*/
    
    /* Deckkraft der Schrift */
    #tabbrowser-tabs :not([fokus]){
        opacity: 1 !important;
    }
    
    /* Schrift inaktiver Tab */
    .tabbrowser-tab .tab-label {
        font-size:   12px !important;
        color: white !important;
    }
    
    /* Schrift aktiver Tab */    
    .tabbrowser-tab .tab-label[selected="true"] {
        color: white !important;  
        font-size:   12px !important;
    }
    
    /* ------------------------*/
    /* störende Teile entfernt */ 
    /* ------------------------*/
        
    /* Tab-Rahmen entfernen */
    #TabsToolbar .tabbrowser-tab[visuallyselected="true"],
    #TabsToolbar .tabbrowser-tab,
    #TabsToolbar .tabbrowser-tab .tab-background {
        background: none !important;
        border-top: none !important;
        outline: none !important;
    }
    
    /* Tab-Separatoren entfernen */
    .tabbrowser-tab::after,
    .tabbrowser-tab::before {
      opacity: 0 !important;
      border-image: unset !important;
      border-image-slice: none !important;
      width: 2 !important;
    }
    
    /* obere Tab-Line entfernen */
    #TabsToolbar .tabbrowser-tab .tab-line {
        display: none !important; 
    }
    
    /* doppelte graue Linie unter der Tabs-Toolbar entfernt */
    #nav-bar {
        box-shadow: none !important;
    }
    
    /*----------------------------------------*/
    /* Megabar (Url-Bar) die Ecken abgerundet */
    /*----------------------------------------*/
    
    /* Adressleiste / Erhöhung wird verhindert */
    #urlbar-background {
        background: #f8f8ff ! important; /* Hintergrund */
        border: 1px solid #5badff !important;
        border-radius: 50px !important; }
    #urlbar[breakout][breakout-extend] {
        top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
        left: 0 !important;
        width: 100% !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-input-container {
        height: var(--urlbar-height) !important;
        padding-block: 0 !important;
        padding-inline: 0 !important; }
    #urlbar[breakout][breakout-extend][breakout-extend-animate] > #urlbar-background {
       animation-name: none !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-background {
        box-shadow: none !important;
    }    
    
    /* Suchleiste Ecken abrunden */
    #searchbar {
        background: #f8f8ff ! important; /* Hintergrund */
        border-radius: 50px !important;
        border: 1px solid #5badff !important;
    }  
         
    /* -------------------------------------*/
    /* Kontext-Menü / Einträge ausgeblendet */ 
    /* -------------------------------------*/
    #context-viewinfo,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes,
    #_lympha-menuitem-_lympha-ctx-btn {
      display: none !important;
    }
    #context_pinTab,
    #context_moveTabOptions,
    #context_reopenInContainer,
    #context_sendTabToDevice,
    #context-sendlinktodevice,
    #context-inspect-a11y,
    #context-openlink,
    #context-openlinkprivate,
    #context-bookmarklink,
    #context-inspect,
    #context-openlinkinusercontext-menu,
    #context-viewpartialsource-selection,
    #context-sep-sendlinktodevice,
    #inspect-separator,
    #context-sendpagetodevice,
    #context-viewbgimage,
    #context-selectall,
    #context-viewsource,
    #context-sep-sendpagetodevice,
    #context-sep-viewbgimage,
    #contentAreaContextMenu > menuseparator:nth-child(93),
    #context-sendimage,
    #context-setDesktopBackground {
       display: none !important;
    }
    #context_duplicateTab {
        -moz-box-ordinal-group: 0 !important;
    }
    #context-openlinkintab {
       -moz-box-ordinal-group: 0 !important;
    }
    #context-copylink {
       -moz-box-ordinal-group: 0 !important;
    }
    #copyplaintext_eros_man-menuitem-_copyPlainText {
      -moz-box-ordinal-group: 0 !important;
    }
    
    #context-copy {
      -moz-box-ordinal-group: 0 !important;  
    }
    #_5dd73bb9-e728-4d1e-990b-c77d8e03670f_-menuitem-_search_engine_menu {
        -moz-box-ordinal-group: 20 !important;
    }
    #context-print-selection,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes-selection {
    display: none !important;
    }
    menuitem[label="Ein Schlüsselwort für diese Suche hinzufügen…"] {
         display: none !important;
    }
    
    
    
    /*--------------------------------------------*/
    /* Ordnersymbole für Symbolleiste und Sidebar */   
    /*--------------------------------------------*/
     
    @-moz-document url-prefix(chrome://browser/content/browser.xhtml),
    url("chrome://browser/content/places/places.xhtml") {
    .bookmark-item[container="true"]{
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    
    @-moz-document url("chrome://browser/content/places/bookmarksSidebar.xhtml") {
    treechildren::-moz-tree-image(container) {
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    Alles anzeigen

    Ok hab ich sofort gemacht und auf den ersten Blick haut auch soweit alles hin, bis ich das entdeckt hab NACH dem ich deinen Code eingefügt hab ;-).



    Das passiert jetzt, wenn ich eine neue Tab Zeile bekomme, dann beamen sich die Tabs ins Nirvana und lassen sich auch nicht erreichen und blitzen nur ab un an einmal auf, auf Zeile 2 ;-).

  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 7. Juni 2021 um 15:32
    Zitat von 2002Andreas
    Zitat von GermanFreme82

    ist das muten Symbol nun direkt links und ersetzt das Fav-Symbol von Youtube ?

    Das ist neu jetzt.


    Zitat von GermanFreme82

    sind da merkwürdige Zwischenabstände

    Kopier bitte mal diesen neuen kompletten Code in deine userChrome.css Datei:, und teste wieder.

    CSS
    /* -----------------------------*/
    /* Tab: Optische Anpassungen    */ 
    /* -----------------------------*/
     
    /* -----------------------------*/
    /* Tab: Optische Anpassungen */
    /* -----------------------------*/
    
    /* Feste Breite der Tabs */
    .tabbrowser-tab:not([pinned]) {
    min-width: 180px !important; 
    max-width: 180px !important;  
    }
    
    /* Tab-Höhe  */
    .tabbrowser-tab {
        min-height: 4px !important;
        max-height: 35px !important;
        vertical-align: bottom !important;
        margin-top: 1px !important; /* oben 1px weniger */
        margin-bottom: 1px !important; /* unten 1px weniger */
        margin-right: 3px !important; /* Abstand zwischen den Tabs */
    
    }
    
    /* Icon im Tab versetzt */
    #TabsToolbar .tab-icon-image {
        height: 16px !important; /* Höhe */
        width:  16px !important; /* Breite */
        margin-left: -2px !important; /* nach links versetzt */
        margin-bottom: 2px !important; /* Abstand von unten */
    }
    
    /* Tabschliessen-Button / Farbe des Kreuzes */
    .tab-close-button {
        color: white !important;
    }
    
    /* NewTab-Button + Farbe */
    #tabs-newtab-button {
        color: white !important;
    }
    
    /*------------------*/
    /* Tab-Hintergrund  */
    /*------------------*/
    
    .tabbrowser-tab[selected] {
        border-radius: 80px !important;
    }
    
    .tabbrowser-tab[selected] .tab-content {
        background: #F09800 !important;
        border-radius: 80px !important;
    }
    
    .tabbrowser-tab:not([selected]) .tab-content {
        background: #C39D74 !important;
        border-radius: 80px !important;
    }    
    
    /* ------------------------------*/
    /* Schrift: Optische Anpassungen */ 
    /* ------------------------------*/
    
    /* Deckkraft der Schrift */
    #tabbrowser-tabs :not([fokus]){
        opacity: 1 !important;
    }
    
    /* Schrift inaktiver Tab */
    .tabbrowser-tab .tab-label {
        font-size:   12px !important;
        color: white !important;
    }
    
    /* Schrift aktiver Tab */    
    .tabbrowser-tab .tab-label[selected="true"] {
        color: white !important;  
        font-size:   12px !important;
    }
    
    /* ------------------------*/
    /* störende Teile entfernt */ 
    /* ------------------------*/
        
    /* Tab-Rahmen entfernen */
    #TabsToolbar .tabbrowser-tab[visuallyselected="true"],
    #TabsToolbar .tabbrowser-tab,
    #TabsToolbar .tabbrowser-tab .tab-background {
        background: none !important;
        border-top: none !important;
        outline: none !important;
    }
    
    /* Tab-Separatoren entfernen */
    .tabbrowser-tab::after,
    .tabbrowser-tab::before {
      opacity: 0 !important;
      border-image: unset !important;
      border-image-slice: none !important;
      width: 2 !important;
    }
    
    /* obere Tab-Line entfernen */
    #TabsToolbar .tabbrowser-tab .tab-line {
        display: none !important; 
    }
    
    /* doppelte graue Linie unter der Tabs-Toolbar entfernt */
    #nav-bar {
        box-shadow: none !important;
    }
    
    /*----------------------------------------*/
    /* Megabar (Url-Bar) die Ecken abgerundet */
    /*----------------------------------------*/
    
    /* Adressleiste / Erhöhung wird verhindert */
    #urlbar-background {
        background: #f8f8ff ! important; /* Hintergrund */
        border: 1px solid #5badff !important;
        border-radius: 50px !important; }
    #urlbar[breakout][breakout-extend] {
        top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
        left: 0 !important;
        width: 100% !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-input-container {
        height: var(--urlbar-height) !important;
        padding-block: 0 !important;
        padding-inline: 0 !important; }
    #urlbar[breakout][breakout-extend][breakout-extend-animate] > #urlbar-background {
       animation-name: none !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-background {
        box-shadow: none !important;
    }    
    
    /* Suchleiste Ecken abrunden */
    #searchbar {
        background: #f8f8ff ! important; /* Hintergrund */
        border-radius: 50px !important;
        border: 1px solid #5badff !important;
    }  
         
    /* -------------------------------------*/
    /* Kontext-Menü / Einträge ausgeblendet */ 
    /* -------------------------------------*/
    #context-viewinfo,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes,
    #_lympha-menuitem-_lympha-ctx-btn {
      display: none !important;
    }
    #context_pinTab,
    #context_moveTabOptions,
    #context_reopenInContainer,
    #context_sendTabToDevice,
    #context-sendlinktodevice,
    #context-inspect-a11y,
    #context-openlink,
    #context-openlinkprivate,
    #context-bookmarklink,
    #context-inspect,
    #context-openlinkinusercontext-menu,
    #context-viewpartialsource-selection,
    #context-sep-sendlinktodevice,
    #inspect-separator,
    #context-sendpagetodevice,
    #context-viewbgimage,
    #context-selectall,
    #context-viewsource,
    #context-sep-sendpagetodevice,
    #context-sep-viewbgimage,
    #contentAreaContextMenu > menuseparator:nth-child(93),
    #context-sendimage,
    #context-setDesktopBackground {
       display: none !important;
    }
    #context_duplicateTab {
        -moz-box-ordinal-group: 0 !important;
    }
    #context-openlinkintab {
       -moz-box-ordinal-group: 0 !important;
    }
    #context-copylink {
       -moz-box-ordinal-group: 0 !important;
    }
    #copyplaintext_eros_man-menuitem-_copyPlainText {
      -moz-box-ordinal-group: 0 !important;
    }
    
    #context-copy {
      -moz-box-ordinal-group: 0 !important;  
    }
    #_5dd73bb9-e728-4d1e-990b-c77d8e03670f_-menuitem-_search_engine_menu {
        -moz-box-ordinal-group: 20 !important;
    }
    #context-print-selection,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes-selection {
    display: none !important;
    }
    menuitem[label="Ein Schlüsselwort für diese Suche hinzufügen…"] {
         display: none !important;
    }
    
    
    
    /*--------------------------------------------*/
    /* Ordnersymbole für Symbolleiste und Sidebar */   
    /*--------------------------------------------*/
     
    @-moz-document url-prefix(chrome://browser/content/browser.xhtml),
    url("chrome://browser/content/places/places.xhtml") {
    .bookmark-item[container="true"]{
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    
    @-moz-document url("chrome://browser/content/places/bookmarksSidebar.xhtml") {
    treechildren::-moz-tree-image(container) {
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    Alles anzeigen
    Alles anzeigen

    Ok hab den neuen Code jetzt reinkopiert und den alten vorher gelöscht.
    Die Tabs sehen jetzt wieder richtig aus, ABER dieser Abstand unter der Tableiste ist leider immer noch da.



    Das mit dem "stumm" Button ist schon okay und ich denke da gewöhne ich mich schon bald dran. Vielen Dank für den Hinweis.

    Update:

    Der Abstand unter der Tableiste kommt nur, wenn ich alle Tabs einmal geschlossen habe, bis auf den letzten und dann einen neuen Tab rechts daneben aufmache. Beim Start von Firefox ist noch alles okay, aber so bald ich das mache, dann kommt der Abstand da unten hinzu.

    Selbst bei 2 Tab-Reihen habe ich dann den merkwürdigen Abstand unten, aber NUR unter der letzten Tab-Reihe (siehe Foto).

  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 7. Juni 2021 um 14:12
    Zitat von 2002Andreas
    Zitat von GermanFreme82

    Ich weiß nicht so ganz wo ich dein Script reinkopieren soll, damit es funktioniert.

    Du nutzt ja schon ein Script für die mehrzeilige Tableiste.

    Darum hilft dir mein Code aus Beitrag Nr. 1 nicht.

    Der setzt nur eine einreihige Tableiste nach unten.

    Für das Script gibt es ein Update, kannst es ja mal testen ob dann wieder alles ok ist.

    JavaScript
    // ==UserScript==
    // @name           zzzz-MultiRowTab_LiteforFx48.uc.js
    // @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description    Experimentelle CSS Version für Mehrzeilige Tableiste
    // @include        main
    // @compatibility  Firefox 89
    // @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 css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
    
        /* Symbolleiste Sortieren */
        #titlebar { -moz-box-ordinal-group: 2; }
    
        /* Anpassung der Symbolleiste */
        :root[tabsintitlebar="true"][sizemode="maximized"] #navigator-toolbox { padding-top: 8px !important; }
        #titlebar,#tabbrowser-tabs { -moz-appearance: none !important; }
    
        /* Titelleisten Schaltflächen anpassen */
        :root[tabsintitlebar="true"] #nav-bar .titlebar-buttonbox > .titlebar-button { width: 46px !important; }
        #nav-bar #window-controls > toolbarbutton { width: 36px !important; }
        #nav-bar #window-controls toolbarbutton:not([id="close-button"]):hover { background-color: var(--toolbarbutton-hover-background) !important; }
    
        /* Mehrzeilige Tableiste */
        box.scrollbox-clip[orient="horizontal"] { display: block; }
        scrollbox[part][orient="horizontal"] {
            display: flex;
            flex-wrap: wrap;
            overflow-x: hidden;
            overflow-y: auto; }
        tabs tab[fadein]:not([pinned]) { flex-grow: 1; }
        tabs tab { overflow: hidden; }
        tab > .tab-stack { width: 100%; }
        @media not (-moz-proton) {
            scrollbox[part][orient="horizontal"] { max-height: calc(var(--tab-min-height) * 5); } /* Anzahl der Tabzeilen(Standard = 5 Zeilen) wenn Proton false */
            tabs tab,#tabs-newtab-button { height: var(--tab-min-height); } }
        @media (-moz-proton) {
            scrollbox[part][orient="horizontal"] { max-height: calc(calc(8px + var(--tab-min-height)) * 2); } /* Anzahl der Tabzeilen(Standard = 2 Zeilen) wenn Proton true */
            tabs tab,#tabs-newtab-button { height: calc(8px + var(--tab-min-height)); } }
        #tabs-newtab-button { margin: 0 !important; }
    
        /* Bei Überschreitung der angegebenen Zeilenanzahl, mit der Maus,    
           über die dann eingeblendetet Scrolleiste zur gewünschten Zeile wechseln */
        scrollbox[part][orient="horizontal"] > scrollbar { -moz-window-dragging: no-drag; }
    
        /* Ausblenden */
        tabs tab:not([fadein]),
        #toolbar-menubar[autohide="false"] ~ #nav-bar hbox.titlebar-buttonbox-container { display: none; }
    
        /* --- Ziehbereich der Tab-Leiste --- */
        /* Anpassung */
        hbox.titlebar-spacer[type="pre-tabs"] { width: 0px !important; } /* Linker Ziehbereich: Standard 40px  */
        hbox.titlebar-spacer[type="post-tabs"] { width: 0px !important; } /* Rechter Ziehbereich: Standard 40px  */
        /* ↓ Wenn Sie die linke und rechte Seite des CSS-Codes auskommentieren und den CSS-Code aktivieren, 
           können Sie den Ziehbereich links einblenden, der beim Maximieren des Fensters ausgeblendet wird.  */
        /* :root:not([sizemode="normal"]) hbox.titlebar-spacer[type="pre-tabs"] { display: block !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.AGENT_SHEET);
    
        if(location.href !== 'chrome://browser/content/browser.xhtml') return;
    
        // Menüleiste an den oberen Rand der Symbolleiste verschieben
        document.getElementById("titlebar").parentNode.insertBefore(document.getElementById("toolbar-menubar"),document.getElementById("titlebar"));
    
        // Titelleisten Schaltflächen in die Tableiste an den Rechten Rand verschieben
        document.getElementById("PanelUI-button").appendChild(document.querySelector("#TabsToolbar .titlebar-buttonbox-container"));
        document.getElementById("PanelUI-button").appendChild(document.getElementById("window-controls"));
    
        // Scroll-Buttons und Spacer in der Tab-Leiste ausblenden shadowRoot 
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.getElementById('scrollbutton-up').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.getElementById('scrollbutton-down').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.querySelector('[part="overflow-start-indicator"]').style.display = "none";
        gBrowser.tabContainer.arrowScrollbox.shadowRoot.querySelector('[part="overflow-end-indicator"]').style.display = "none";
    
        // drag & drop & DropIndicator
    
        gBrowser.tabContainer.clearDropIndicator = function() {
            let tabs = this.allTabs;
            for (let i = 0, len = tabs.length; i < len; i++) {
                tabs[i].removeAttribute("style");
            }
        }
        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);
            let draggedTab = this._getDropIndex(event, false);
            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();
                    let tabRect = children[newIndex - 1].style.setProperty("box-shadow","-1px 0 0 red inset,1px 0 0 red","important");
                    if (RTL_UI) {
                        newMargin = rect.right - tabRect.left;
                    } else {
                        newMargin = tabRect.right - rect.left;
                    }
                } else {
                 // let tabRect = children[newIndex].getBoundingClientRect();
                    let tabRect = children[newIndex].style.setProperty("box-shadow","1px 0 0 red inset,-1px 0 0 red","important");
                    if (RTL_UI) {
                        newMargin = rect.right - tabRect.right;
                    } else {
                        newMargin = tabRect.left - rect.left;
                    }
                }
            }
    
            ind.hidden = false;
            newMargin += ind.clientWidth / 2;
            if (RTL_UI) {
                newMargin *= -1;
            }
            ind.style.transform = "translate(" + Math.round(newMargin) + "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;
                }
                if (oldTranslateX && oldTranslateX != newTranslateX && !gReduceMotion) {
                    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 &&
                        event.screenY <
                        tabs[i].screenY + tabs[i].getBoundingClientRect().height
                    ) {
                        if (
                            event.screenX >
                            tabs[i].screenX &&
                            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 &&
                        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 &&
                            event.screenX >
                            tabs[i].screenX
                        ) {
                            return i + 1;
                        }
                    }
                }
            }
            return tabs.length;
        }
    
    }
    Alles anzeigen

    Weitere Script davon findest du hier:

    https://github.com/Endor8/userChr…LiteforFx.uc.js

    Ansonsten die Frage, möchtest du nur die Tableiste nach unten, oder soll sie auch mehrzeilig sein?

    Alles anzeigen

    Vielen lieben Dank Andreas !
    Ich hab das jetzt mal versucht udn zwar so wie du es emüfohlen hast.
    Das alte Script "MultiRowTab_LiteforFx48_03.uc.js" hab ich rausgehauen und durch deine oben ersetzt.
    Jetzt ist zumindest die TAB-Leiste wo sie hingehört (für mich) ,aber irgendwie sind da merkwürdige Zwischenabstände UNTER den Tabs, die vorher nicht da waren UUUUND die Tabs sind merkwürdig abgeschnitten (waren vorher an den Rändern rund).

    Ich hatte mir das eigentlich so eingerichtet, das ich auf einer Zeile bis zu 10 Tabs habe und dann geht eine neue Zeile darunter weiter mit wieder je 10 Tabs und das ist gut so für mich (zu deiner Antwort ob ich mehrzeilige Tabs möchte).

    Wenn man die jetzt noch vernünfig darstellen könnte und diesen merkwürdigen Abstand darunter wegmachen könnte, dann wäre es wieder perfekt. Achja und auf Youtube wnen ich ein Video abspiele steht im Tab "Wiedergabe" ganz unten und ich sehe das Symbol zum "muten" nicht mehr rechts, als wenn das abgeschnitten wäre.

    Update: Bei Youtube-Tabs ist das muten Symbol nun direkt links und ersetzt das Fav-Symbol von Youtube ?



  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 7. Juni 2021 um 10:49

    2002Andreas

    Könntest du dir bitte einmal meinen Beitrag #201 durchlesen ?
    Ich weiß nicht so ganz wo ich dein Script reinkopieren soll, damit es funktioniert.
    Wenn ich das in meine "userChrome.css" ganz oben einfüge, dann klappt nichts mehr und die TABs kommen in der Bildschirmmitte raus. Ich weiß also nicht genau, wie ich das mit meinen vorherigen Einträgen kombinieren muß, damit das Design der TABs so bleibt, wie bisher.

    Könntest du dir daher bitte einmal meine Dateien aus dem Beitrag #201 anschauen und mir bitte sagen, wo da was rein muß ?

  • Tableiste unten per CSS-Code, oder per Skript.

    • GermanFreme82
    • 4. Juni 2021 um 15:13

    Hallo zusammen !
    Ich bin gerade sehr überfordert mit dem neuen Update FF89.
    Das mit der TAB-Leiste nach unten bekomme ich nicht hin.
    Bei mir sind die TABs mitten im Bildschirm nach euren Anpassungen.

    Könntet ihr mir bitte helfen und meine Dateien bitte so anpassen, das sie mit meinem Design zusammenpassen ?

    Da das mit dem Copy und Paste nicht so gut, oder manchmal fehlerhaft geht lade ich die Dateien direkt hoch.
    Ich benötige bitte die genaue Schrift, Farbe, Größe etc. der TABs so wie sie im FF88 waren und das bekomme ich mit dem neuen Script-Dings von euch nicht hin.

    Die Dateien sind logischerweise von FF88.0.1 die ich hier angehängt habe ;-).

    Es wäre ein Traum wenn ihr mir helfen würdet !!!



    Ich versuch mal die userChrome.css hier rein zu kopieren und dort soll ja irgendwas umgeändert werden ?


    CSS
    /* -----------------------------*/
    /* Tab: Optische Anpassungen */
    /* -----------------------------*/
    
    
    /* -----------------------------*/
    /* Tab: Optische Anpassungen */
    /* -----------------------------*/
    
    
    /* Feste Breite der Tabs */
    .tabbrowser-tab:not([pinned]) {
    min-width: 180px !important;
    max-width: 180px !important;
    }
    
    
    /* Tab-Höhe */
    .tabbrowser-tab {
    min-height: 32px !important;
    max-height: 32px !important;
    vertical-align: bottom !important;
    margin-top: 1px !important; /* oben 1px weniger */
    margin-bottom: 1px !important; /* unten 1px weniger */
    margin-right: 3px !important; /* Abstand zwischen den Tabs */
    
    
    }
    
    
    /* Icon im Tab versetzt */
    #TabsToolbar .tab-icon-image {
    height: 16px !important; /* Höhe */
    width: 16px !important; /* Breite */
    margin-left: -2px !important; /* nach links versetzt */
    margin-bottom: 2px !important; /* Abstand von unten */
    }
    
    
    /* Tabschliessen-Button / Farbe des Kreuzes */
    .tab-close-button {
    color: white !important;
    }
    
    
    /* NewTab-Button + Farbe */
    #tabs-newtab-button {
    color: white !important;
    }
    
    
    /*------------------*/
    /* Tab-Hintergrund */
    /*------------------*/
    
    
    .tabbrowser-tab[selected] .tab-content {
    background: #F09800 !important;
    border-radius: 80px !important;
    }
    
    
    .tabbrowser-tab:not([selected]) .tab-content {
    background: #C39D74 !important;
    border-radius: 80px !important;
    }
    
    
    /* ------------------------------*/
    /* Schrift: Optische Anpassungen */
    /* ------------------------------*/
    
    
    /* Deckkraft der Schrift */
    #tabbrowser-tabs :not([fokus]){
    opacity: 1 !important;
    }
    
    
    /* Schrift inaktiver Tab */
    .tabbrowser-tab .tab-label {
    font-size: 12px !important;
    color: white !important;
    }
    
    
    /* Schrift aktiver Tab */
    .tabbrowser-tab .tab-label[selected="true"] {
    color: white !important;
    font-size: 12px !important;
    }
    
    
    /* ------------------------*/
    /* störende Teile entfernt */
    /* ------------------------*/
    
    
    /* Tab-Rahmen entfernen */
    #TabsToolbar .tabbrowser-tab[visuallyselected="true"],
    #TabsToolbar .tabbrowser-tab,
    #TabsToolbar .tabbrowser-tab .tab-background {
    background: none !important;
    border-top: none !important;
    outline: none !important;
    }
    
    
    /* Tab-Separatoren entfernen */
    .tabbrowser-tab::after,
    .tabbrowser-tab::before {
    opacity: 0 !important;
    border-image: unset !important;
    border-image-slice: none !important;
    width: 2 !important;
    }
    
    
    /* obere Tab-Line entfernen */
    #TabsToolbar .tabbrowser-tab .tab-line {
    display: none !important;
    }
    
    
    /* doppelte graue Linie unter der Tabs-Toolbar entfernt */
    #nav-bar {
    box-shadow: none !important;
    }
    
    
    /*----------------------------------------*/
    /* Megabar (Url-Bar) die Ecken abgerundet */
    /*----------------------------------------*/
    
    
    /* Adressleiste / Erhöhung wird verhindert */
    #urlbar-background {
    background: #f8f8ff ! important; /* Hintergrund */
    border: 1px solid #5badff !important;
    border-radius: 50px !important; }
    #urlbar[breakout][breakout-extend] {
    top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
    left: 0 !important;
    width: 100% !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-input-container {
    height: var(--urlbar-height) !important;
    padding-block: 0 !important;
    padding-inline: 0 !important; }
    #urlbar[breakout][breakout-extend][breakout-extend-animate] > #urlbar-background {
    animation-name: none !important; }
    #urlbar[breakout][breakout-extend] > #urlbar-background {
    box-shadow: none !important;
    }
    
    
    /* Suchleiste Ecken abrunden */
    #searchbar {
    background: #f8f8ff ! important; /* Hintergrund */
    border-radius: 50px !important;
    border: 1px solid #5badff !important;
    }
    
    
    /* -------------------------------------*/
    /* Kontext-Menü / Einträge ausgeblendet */
    /* -------------------------------------*/
    #context-viewinfo,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes,
    #_lympha-menuitem-_lympha-ctx-btn {
    display: none !important;
    }
    #context_pinTab,
    #context_moveTabOptions,
    #context_reopenInContainer,
    #context_sendTabToDevice,
    #context-sendlinktodevice,
    #context-inspect-a11y,
    #context-openlink,
    #context-openlinkprivate,
    #context-bookmarklink,
    #context-inspect,
    #context-openlinkinusercontext-menu,
    #context-viewpartialsource-selection,
    #context-sep-sendlinktodevice,
    #inspect-separator,
    #context-sendpagetodevice,
    #context-viewbgimage,
    #context-selectall,
    #context-viewsource,
    #context-sep-sendpagetodevice,
    #context-sep-viewbgimage,
    #contentAreaContextMenu > menuseparator:nth-child(93),
    #context-sendimage,
    #context-setDesktopBackground {
    display: none !important;
    }
    #context_duplicateTab {
    -moz-box-ordinal-group: 0 !important;
    }
    #context-openlinkintab {
    -moz-box-ordinal-group: 0 !important;
    }
    #context-copylink {
    -moz-box-ordinal-group: 0 !important;
    }
    #copyplaintext_eros_man-menuitem-_copyPlainText {
    -moz-box-ordinal-group: 0 !important;
    }
    
    
    #context-copy {
    -moz-box-ordinal-group: 0 !important;
    }
    #_5dd73bb9-e728-4d1e-990b-c77d8e03670f_-menuitem-_search_engine_menu {
    -moz-box-ordinal-group: 20 !important;
    }
    #context-print-selection,
    #textnotes_gaborjuhaszprojects_com-menuitem-_textnotes-selection {
    display: none !important;
    }
    menuitem[label="Ein Schlüsselwort für diese Suche hinzufügen…"] {
    display: none !important;
    }
    
    
    
    
    
    
    /*--------------------------------------------*/
    /* Ordnersymbole für Symbolleiste und Sidebar */
    /*--------------------------------------------*/
    
    
    @-moz-document url-prefix(chrome://browser/content/browser.xhtml),
    url("chrome://browser/content/places/places.xhtml") {
    .bookmark-item[container="true"]{
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    
    
    @-moz-document url("chrome://browser/content/places/bookmarksSidebar.xhtml") {
    treechildren::-moz-tree-image(container) {
    list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=") !important;
    }
    }
    Alles anzeigen

    Dateien

    AddonLeisteUnten.uc.js.txt 632 Byte – 148 Downloads F2URLLeiste.uc.js.txt 299 Byte – 130 Downloads F12Tabchließen.uc.js.txt 454 Byte – 136 Downloads HideTabbarWithOneTab.uc.js.txt 532 Byte – 177 Downloads MultiRowTab_LiteforFx48_03.uc.js.txt 14,86 kB – 119 Downloads PopUp.uc.js.txt 50 Byte – 130 Downloads RestartFirefoxButton.uc.js.txt 18,17 kB – 150 Downloads TabProtectmod.uc.js.txt 10,22 kB – 145 Downloads userChrome.css.txt 7,67 kB – 165 Downloads userChrome.js.txt 82 Byte – 135 Downloads userContent.css.txt 0 Byte – 143 Downloads
  • Cache für Youtube erhöhen ?

    • GermanFreme82
    • 24. Mai 2021 um 18:00
    Zitat von StandingBill

    Vielleicht nochmal in dem Altthread mit deiner Beteiligung nachlesen.

    In dem Zusammenhang das eventuell auch testen.

    Es ist schwer für mich sich da wieder einzulesen in das alte Thema und irgendwie gibts nicht mehr alle Optionen, oder ich finde sie einfach nicht in der config.

    Der 2. Beitrag bringt leider dann Videos nur noch in 720p und das ist nicht zielführend, leider.


    Was ich gerne hätte ist, das man mit "about:config" da an den Werten was ändert, damit die Videos weiter im voraus reingeladen werden auf Youtube.

    Aktuell ist mir das echt zu wenig und meine Leitung packt das auf jeden Fall, das man mehr vorbuffern kann.

    Welche Werte müßte ich denn im einzeln ändern, damit mehr vorgebuffert wird auf Youtube ?


    Das hier hab ich übrigens gemacht (siehe Foto) nur leider sind dann wie beschrieben die Videos nur noch in 720p.
    Den Wert "media.cache_readhead_limit" kann ich jetzt auch nur noch auf "true" ,oder "false" stellen, aber vorher stand da was anderes.

    Wie lautet die korrekte Einstellung von "media.cache_readhead_limit" denn, wenn ich sie auf "Standard" zurückstellen möchte ?


    Nachtrag:
    -----------------

    media.cache_readhead_limit => kann man keine Zahl eingeben nur TRUE und FALSE
    media.cache_resume_treshold => da gibts was mit BOOLEAN und so, aber auch keine Zahlen

    Bilder

    • 2021.05.24 Bild 02.png
      • 18,03 kB
      • 694 × 359
  • Cache für Youtube erhöhen ?

    • GermanFreme82
    • 23. Mai 2021 um 23:25

    Ich melde mich noch ausführlich dazu.
    Grad eben bin ich nur aufm Sprung, aber ich meine das "vorladen" des Videos bei Yotube.
    Es wäre schön, wenn man da mehr vorladen könnte.

  • Cache für Youtube erhöhen ?

    • GermanFreme82
    • 22. Mai 2021 um 01:35

    Hallo ihr Lieben ;) !

    Könnte mir vielleicht jemand von euch helfen mit einer kleinen Anpassugn für mein FF 88.0.1 ?

    Ich benötige eine Anpassung für den Cache der für Youtube verwendet wird, denn der ist mir zu klein.
    Es wäre schön, wenn man den Cache um ein paar (viele) MB erhöhen könnte, damit Youtube-Videos mehr reingeladen werden.

    Meine Leitung packt das schon => 1000 Mbit/s :P

  • Firefox 88 Tableisten nach unten

    • GermanFreme82
    • 26. April 2021 um 20:28
    Zitat von Sören Hentzschel
    Zitat von GermanFreme82

    Wie gesagt FF87 alles OK Update auf FF88 Chaos.

    Das ist nicht überraschend. Grundsätzlich kann jedes Firefox-Update Inkompatibilitäten mit individuellen Anpassungen auslösen. Das gilt in dem Fall aber ganz besonders. Firefox 89 wird ein neues Design erhalten, was auch größere Änderungen im Bereich der Tabs einschließt. So ein neues Design ist nicht in vier Wochen implementiert. Auch wenn es in einem unangepassten Firefox nicht sichtbar ist, da wurde im Hintergrund auch schon viel im Entwicklungszyklus von Firefox 88 dran gearbeitet. Und wenn dann Anpassungen genutzt werden, welche genau diesen Bereich verändern, dann ist die Chance groß, dass das Update auf Firefox 88 Inkompatibilitäten mit eben jenen Anpassungen verursacht.

    Ach du schöne Bescherung, na dann hoffe ich das wird nicht zu extrem beu FF89 ;-).
    Vielen Dank für die Info.


    Zitat von 2002Andreas
    Zitat von GermanFreme82

    wo du sagst das ist falsch.

    Zitat von 2002Andreas

    Der Fehler liegt dann wahrscheinlich an:

    Ja kein Plan ;-).
    Erstmal gehts nun doch, aber wer weiß wie lange und was dann bei spätestens bei Update auf FF89 passiert ;-).

  • Firefox 88 Tableisten nach unten

    • GermanFreme82
    • 25. April 2021 um 20:09
    Zitat von 2002Andreas

    Ich habe eben mal dein Script getestet, das funktioniert hier einwandfrei.

    Dann muss es also an etwas anderem liegen.

    Keine Ahnung wieso das hier nicht geht.
    Ich hab ja oben alle Scripte hochgeladen aus dem Ordner.
    Wenn ich alle rauswerfe, dann gehts trotzdem nicht.

    Wie gesagt FF87 alles OK Update auf FF88 Chaos.


    So jetzt bin ich absolut baff ...
    Ich hab nun ALLE Scripte aus meinem Backup wieder reinkopiert und Firefox nun 5x neu gestartet und jetzt geht es und zwar auch mit dem ALTEN script, wo du sagst das ist falsch.

    Häääääääääää ?
    Bahnhof versteh ich nur noch ??

    Mal schauen, ob das noch so bleibt.
    Ich beobachte erstmal und berichte, so bald sich wieder was verschiebt.

  • Firefox 88 Tableisten nach unten

    • GermanFreme82
    • 25. April 2021 um 20:04
    Zitat von 2002Andreas

    Dann funkt dir evtl. ein anderes Script noch dazwischen, oder einer deiner CSS Codes. :/

    Ich hab jetzt ALLE JS-Dateien rausgeworfen und das neue Script probiert geht trotzdem nicht, leider.
    Die Tableiste soll ja auch UNTEr die Lesezeichn und nicht nur unter die Adresseleiste ;-).

  • Firefox 88 Tableisten nach unten

    • GermanFreme82
    • 25. April 2021 um 19:58
    Zitat von 2002Andreas
    Zitat von GermanFreme82

    welche Version ich bisher hatte

    Ich würde sagen die 3te von oben in dem Link.

    Ok hab zufällig das mal probiert und die TABleiste ist immer noch ganz oben und die Lücken sind noch da.
    Hat alles nix bewirkt.

    Ich hab den Code kopiert und eingefügt und den alten rausgeworfen mehr nicht, oder muß ich noch was anpassen ?

  • Firefox 88 Tableisten nach unten

    • GermanFreme82
    • 25. April 2021 um 19:52
    Zitat von 2002Andreas

    Der Fehler liegt dann wahrscheinlich an:

    MultiRowTabLiteforFx.uc.js

    Hier gibt es die aktuellen Versionen, such dir eine aus:

    https://github.com/Endor8/userChr…tabs/Firefox-86

    Oh wow cool !
    Danke erstmal für den Hinweis ich probier gleich mal eins davon aus.
    Ääääh weißt du welche Version ich bisher hatte (siehe Anhang) ?

    MultiRowTab_LiteforFx48_03.uc.js.txt

  • Firefox 88 Tableisten nach unten

    • GermanFreme82
    • 25. April 2021 um 19:47

    Aktuelle Scripte sind bei mir folgende (siehe Anhang).

    AddonLeisteUnten.uc.js.txt
    MultiRowTab_LiteforFx48_03.uc.js.txt
    userChrome.js.txt
    HideTabbarWithOneTab.uc.js.txt
    userChrome.css.txt


    Zitat von 2002Andreas
    Zitat von GermanFreme82

    damit die Leiste wieder unter die Lesezeichen kommt

    Womit hast du sie denn verschoben?

    Ohne das zu wissen kann dir niemand helfen.

    Ich habe sie nicht verschoben, das war das Update auf FF88.
    Wenn ich FF87 wieder einspiele geht alles normal.
    Ich hab einen Beitrag geschrieben und die Dateien hochgeladen, mit denen ich BIS Firefox 87 einwandfrei alles so hatte.

  • Firefox 88 Tableisten nach unten

    • GermanFreme82
    • 25. April 2021 um 19:43

    Hallo zusammen !
    Nach dem Update eben auf FF88 ist nun meine Tableiste wieder ganz nach oben verschoben und ich hab beim öffnen eines neues TABs merkwürdige Lücken zwischen den TABs und diese werden immer größer.

    Könnt ihr mir bitte helfen und ein Script geben/ausbessern, damit die Leiste wieder unter die Lesezeichen kommt OHNE komische Lücken zwischen den TABs ?

    Beispiel aktuell:

  • Google Search Preview geht nicht mehr

    • GermanFreme82
    • 19. April 2021 um 04:54

    Naja auch nach dem Update geht es nur manchmal.
    Ich muß dafür die aktuelle Google-Suche ständig neu laden, bis es klappt (auch beim Wechsel auf Seite 2,3, usw.)




    Gleiche Suchanfragen bei "duckduckgo" bringen gleich Vorschaubilder !

    Beispiel:

  • Google Search Preview geht nicht mehr

    • GermanFreme82
    • 15. April 2021 um 16:59

    Komisch jetzt gehts wieder ???
    Naja somit ist das Problem vorerst gelöst.
    Hoffentlich bleibt es jetzt aktiviert.

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