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

Beiträge von Fritz80

  • In der Statusleiste funktioniert der Rechtsklick nicht

    • Fritz80
    • 19. November 2022 um 14:18

    Hallo

    Ich habe das letzte Script ausprobiert funktioniert nicht es erscheint nicht mal eine Statusleiste.

    Mit freundlichem Gruß

    Fritz

  • In der Statusleiste funktioniert der Rechtsklick nicht

    • Fritz80
    • 18. November 2022 um 19:45

    Hallo,

    Ich habe in der Statusleiste mehrere Add-ons und um an die Einstellungen zu kommen brauche ich den Rechtsklick, der aber nicht funktioniert.

    Denn Code, den ich benutze, sieht so aus

    CSS
    /* Statusleiste für Firefox */
    
    // https://www.camp-firefox.de/forum/viewtopic.php?p=1052187&sid=d4e33b574226439c26dfb45629b71369#p1052187
    // entwickelt von aborix 
    
    (function() {
    
      if (location.href !== 'chrome://browser/content/browser.xhtml')
    return;
      
      var css =`
        #new-toolbar {
            height: 28px; 
            direction: rtl;
            -moz-window-dragging: drag;
            /* border-top: 1px solid black !important; 
            background-color: rgba(0,0,0,0) !important;
            color: black !important; */
        }
        
        #statuspanel {
            bottom: -3px !important;
            left: -30px !important;
            height: 20px !important;
            max-width: 20% !important;
            transition: none !important;
        }
        
        #statuspanel-label{
            margin-top: -1px !important;
            margin-bottom: 5px !important;
            background:#F0EDF8!important;
            border: none !important;
            font: 15px Arial Rounded MT Bold !important;
            font-weight: normal !important;
            color: black-gray !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);
      
      var tb = document.createXULElement('toolbar');
      tb.id = 'new-toolbar';
    
    
      tb.setAttribute('customizable', true);
      tb.setAttribute('mode', 'icons');
    
      var vbox  = document.createXULElement('vbox');
      document.getElementById('navigator-toolbox').parentNode.parentNode.insertBefore(
      vbox, document.getElementById('browser-bottombox'));
      vbox.style.backgroundColor = '#454545';
      vbox.appendChild(tb);
    
      CustomizableUI.registerArea('new-toolbar', {legacy: true});
      CustomizableUI.registerToolbarNode(tb);  
       
    })();
    
    setTimeout(function() {
        if (window.__SSi == 'window0')
          return;
        let tabbar = document.getElementById('TabsToolbar');     
        let tab = gBrowser.selectedTab;
        tabbar.style.display = '-moz-box';
        duplicateTabIn(tab, 'tab');
        gBrowser.moveTabTo(gBrowser.selectedTab, tab._tPos);
        gBrowser.removeTab(tab);
        tabbar.style.display = ''; 
      }, 1500);
    Alles anzeigen

    Kann man den Rechtsklick da noch einfügen oder funktioniert das so nicht?

    Besten Dank schon mal für die Hilfe

  • Horizontaler raum zwischen Pinned Tabs und Tabs vergrößern

    • Fritz80
    • 1. April 2022 um 19:25

    https://www.tabmixplus.org/

  • Horizontaler raum zwischen Pinned Tabs und Tabs vergrößern

    • Fritz80
    • 1. April 2022 um 19:13

    TabMix Plus

  • Horizontaler raum zwischen Pinned Tabs und Tabs vergrößern

    • Fritz80
    • 1. April 2022 um 18:57

    Kennt jemand einen Code für die userChrome.css die den Horizontalen Raum zwischen Pinned Tabs, Tabs und Tabs der zweiten Reihe vergrößert.

  • Firefox 72: Mehrzeilige Tableiste

    • Fritz80
    • 9. Januar 2020 um 16:48

    Spitze Funktioniert

    Danke

  • Firefox 72: Mehrzeilige Tableiste

    • Fritz80
    • 9. Januar 2020 um 16:38

    Nein noch immer keine Beschriftung

  • Firefox 72: Mehrzeilige Tableiste

    • Fritz80
    • 9. Januar 2020 um 16:12

    Hallo,

    Nach dem neusten Update, ist bei der Mehrzeiligen Tab leiste, im aktiven Tab keine Beschriftung mehr zu erkennen, nur bei inaktiven Tabs.

    Kann mir da jemand Helfen.

    Danke im Voraus.

    CSS
    // ==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 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 css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
        /* Anpassung der Symbolleisten */
        [tabsintitlebar="true"][sizemode="maximized"] #navigator-toolbox { padding-top: 8px !important; }
        #titlebar,#tabbrowser-tabs { -moz-appearance: none !important; }
        /* Verhindern, dass die Titelleistenschaltflächen auf der Tableiste im Hochformat angezeigt werden */
        [tabsintitlebar="true"] #TabsToolbar > .titlebar-buttonbox-container,
        #main-window[inFullscreen="true"] #window-controls { display: block; }
        /* Mehrzeilige Tableiste */
        tabs > arrowscrollbox { display: block; }
        scrollbox[part][orient="horizontal"] {
            display: flex;
            flex-wrap: wrap;
            max-height: calc(var(--tab-min-height) * 2); /* Anzahl der Tabzeilen(Standard = 5 Zeilen) */
            overflow-x: hidden;
            overflow-y: auto; }
        tabs tab[fadein]:not([pinned]) { flex-grow: 1; }
        tabs tab,.tab-background {
            height: var(--tab-min-height);
            overflow: hidden;
            z-index: 1 !important; }
        tab > .tab-stack { width: 100%; }
        /* 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; }
        /* Drag-Bereich auf der linken und rechten Seite der
           Tab-Leiste ausblenden - verstecken
           Links und rechts → hbox.titlebar-spacer 
           links → hbox.titlebar-spacer[type="pre-tabs"] 
           rechts → hbox.titlebar-spacer[type="post-tabs"] */
        hbox.titlebar-spacer
        ,
        /* Ausblenden - Verstecken */
        #alltabs-button,tabs tab:not([fadein]), 
        [class="scrollbutton-up"],
        [class="scrollbutton-up"] + spacer,
        scrollbox[part][orient="horizontal"] + spacer,
        [class="scrollbutton-down"] { display: none; }
        } `;
        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);
    
        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;
            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
  • Statusleiste

    • Fritz80
    • 12. Oktober 2019 um 18:43

    Hat funktioniert.

    Danke.

  • Statusleiste

    • Fritz80
    • 12. Oktober 2019 um 18:18

    Das Fenster bleibt leer.

  • Statusleiste

    • Fritz80
    • 12. Oktober 2019 um 17:22

    Hallo

    Die Statusleiste macht Probleme bei Add-ons die ein extra Fenster öffnen für Einstellungen wie z.B. bei Sync Tab Group Einstellung Gruppe Importieren, öffnet sich ein Fenster, das aber leer ist. Wenn ich die Statusleiste entferne, ist der Inhalt in diesem Fenster wieder sichtbar.

  • MultiRowTab

    • Fritz80
    • 5. Oktober 2019 um 19:22

    Die Angehefteten Tabs sollen immer sichtbar bleiben auch beim Scrollen der Tabs.

  • MultiRowTab

    • Fritz80
    • 5. Oktober 2019 um 17:20
    JavaScript
    // ==UserScript==
    // [user='11751']Name[/user] zzzz-MultiRowTab_LiteforFx48.uc.js
    // [user='11751']Name[/user]space http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description Experimentelle CSS Version für Mehrzeilige Tableiste
    // @include main
    // @compatibility Firefox 69
    // @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==
    "user strict";
    MultiRowTabLiteforFx();
    function MultiRowTabLiteforFx() {
    var css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
    /* Mehrzeilige Tableiste */
    tabs>arrowscrollbox{display:block;}
    tabs arrowscrollbox>scrollbox {
    display:flex;display:-webkit-box;flex-wrap:wrap;
    max-height: calc(var(--tab-min-height) * 2); /* Anzahl der Tabzeilen */
    overflow-x:hidden;overflow-y:auto; }
    [tabsintitlebar="true"] tabs scrollbar{-moz-window-dragging:no-drag;}
    /* Bei Überschreitung der angegebenen Zeilenanzahl, mit der Maus,
    über die dann eingeblendetet Scrolleiste zu Zeile wechseln */
    tabs tab[fadein]:not([pinned]){flex-grow:1;}
    tabs tab,.tab-background {
    height: var(--tab-min-height);
    overflow: hidden;
    z-index: 1 !important; }
    tab>.tab-stack{width:100%;}
    [sizemode="fullscreen"] #TabsToolbar>#window-controls,
    .titlebar-buttonbox-container>.titlebar-buttonbox{display:block;}
    /* Drag-Bereich auf der linken und rechten Seite der
    Tab-Leiste auslenden - verstecken
    Links und rechts → hbox.titlebar-spacer
    links → hbox.titlebar-spacer[type="pre-tabs"]
    rechts → hbox.titlebar-spacer[type="post-tabs"] */
    hbox.titlebar-spacer
    /* Ausblenden - Verstecken */
    ,#alltabs-button,tabs [class^="scrollbutton"],tabs spacer,[autohide="true"][inactive="true"] .titlebar-buttonbox { display: none; }
    } `;
    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);
    var style = ' \
    tabs tab:not(stack) { \
    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 sspi = document.createProcessingInstruction('xml-stylesheet',
    'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"');
    document.insertBefore(sspi, document.documentElement);
    gBrowser.tabContainer._animateTabMove = function(event){}
    gBrowser.tabContainer._finishAnimateTabMove = function(){}
    gBrowser.tabContainer.lastVisibleTab = function() {
    var tabs = this.allTabs;
    for (let i = tabs.length - 1; i >= 0; i--){
    if (!tabs[i].hasAttribute("hidden"))
    return i;
    }
    return -1;
    }
    gBrowser.tabContainer.clearDropIndicator = function() {
    var tabs = this.allTabs;
    for (let i = 0, len = tabs.length; i < len; i++){
    let tab_s= tabs[i].style;
    tab_s.removeProperty("border-left-color");
    tab_s.removeProperty("border-right-color");
    }
    }
    gBrowser.tabContainer.addEventListener("dragleave",gBrowser.tabContainer.clearDropIndicator, false);
    gBrowser.tabContainer._onDragOver = function(event) {
    event.preventDefault();
    event.stopPropagation();
    this.clearDropIndicator();
    var newIndex = this._getDropIndex(event);
    if (newIndex == null)
    return;
    let children = this.allTabs;
    if (newIndex < children.length) {
    children[newIndex].style.setProperty("border-left-color","red","important");
    } else {
    newIndex = gBrowser.tabContainer.lastVisibleTab();
    if (newIndex >= 0)
    children[newIndex].style.setProperty("border-right-color","red","important");
    }
    }
    gBrowser.tabContainer.addEventListener("dragover", gBrowser.tabContainer._onDragOver, false);
    gBrowser.tabContainer.onDrop = function(event) {
    this.clearDropIndicator();
    var dt = event.dataTransfer;
    var draggedTab;
    if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) {
    draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
    if (!draggedTab) {
    return;
    }
    }
    this._tabDropIndicator.hidden = true
    event.stopPropagation();
    if (draggedTab && draggedTab.container == this) {
    let newIndex = this._getDropIndex(event, false);
    if (newIndex > draggedTab._tPos)
    newIndex--;
    gBrowser.moveTabTo(draggedTab, newIndex);
    }
    }
    gBrowser.tabContainer.addEventListener("drop",gBrowser.tabContainer.onDrop, false);
    gBrowser.tabContainer._getDragTargetTab = function(event, isLink) {
    let tab = event.target;
    while (tab && tab.localName != "tab") {
    tab = tab.parentNode;
    }
    if (tab && isLink) {
    let { width } = tab.getBoundingClientRect();
    if (
    event.screenX < tab.screenX + width * 0.25 
    event.screenX > tab.screenX + width * 0.75
    ) {
    return null;
    }
    }
    return tab;
    }
    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
  • MultiRowTab

    • Fritz80
    • 5. Oktober 2019 um 14:20

    Hallo

    Es geht um das Script MultiRowTabLiteforFx.uc.js, kann man das Script so ändern das sich die Angehefteten Tabs nicht mit Bewegen.:thumbup:

  • Fx 69 Update und meine Scripte

    • Fritz80
    • 29. September 2019 um 16:44

    Hallo

    Es geht um das Script MultiRowTabLiteforFx.uc.js, kann man das Script so ändern das sich die Angehefteten Tabs nicht mit Bewegen.

  • Fx 69 Update und meine Scripte

    • Fritz80
    • 7. September 2019 um 12:21

    Vielen Dank!

  • Fx 69 Update und meine Scripte

    • Fritz80
    • 6. September 2019 um 22:42

    Wo kann man beim MultiRowTab_Lite.uc.js Script die Zeilen Anzahl ändern?

  • nach Update auf 69.0 Statusleiste verschwunden und die Tabs nach oben unter die Menüleiste gewandert

    • Fritz80
    • 6. September 2019 um 22:01

    Add-on-Symbolen

  • nach Update auf 69.0 Statusleiste verschwunden und die Tabs nach oben unter die Menüleiste gewandert

    • Fritz80
    • 6. September 2019 um 21:19

    Hallo

    Die Statusleiste funktioniert, nur der Rechtsklick funktioniert bei den Icons nicht, außer bei dem Neustart Icon.

    Könnt ihr mir da Helfen?

  • Add-on Weiterleitung

    • Fritz80
    • 26. Februar 2019 um 16:51

    Danke für die Hilfe, aber beide Wege sind für mich nicht brauchbar.
    Ich brauche einen Weg, wo ich die Adressen eintragen kann und die Seite dann nur in diesem Tab arbeitet.
    Ich habe die Add-on Seite ordentlich durchforstet, aber bis jetzt nichts gefunden, wahrscheinlich gibt es für meine Anforderung kein Add-on.

Unterstütze uns!

Jährlich (2025)

90,1 %

90,1% (585,86 von 650 EUR)

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