Mutlirows Fokus neuer Tab

  • Firefox-Version
    96
    Betriebssystem
    Windows11

    Hallo zusammen,

    ich benutze seit gestern die Anpassungen für Multirows im Firefox von Endor8:

    userChrome.js/06-MultiRowTabLiteforFx.uc.js at master · Endor8/userChrome.js
    Skripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.
    github.com

    Ich habe eine Frage zum Tab-Fokus.

    Wenn ich viele Tabs geöffnet habe und mehr als 5 Tabreihen angezeigt werden und ich dann einen neuen Tab öffne, wird dieser leider nicht direkt in den Fokus genommen.

    Vorher habe ich den Code von Izheil (https://github.com/Izheil/Quan…tiRowTab-scrollable.uc.js) benutzt. Er hat es dort mit folgendem Code gelöst:

    // This scrolls down to the current tab when you open a new one, or restore a session.

    function scrollToView() {

    let selTab = document.querySelectorAll(".tabbrowser-tab[selected='true']")[0];

    let wrongTab = document.querySelectorAll('.tabbrowser-tab[style^="margin-inline-start"]');let hiddenToolbox = document.querySelector('#navigator-toolbox[style^="margin-top"]');

    let fullScreen = document.querySelector('#main-window[sizemode="fullscreen"]');

    selTab.scrollIntoView({behavior: "smooth", block: "nearest", inline: "nearest"});

    if (wrongTab[0]) {

    for(let i = 0; i < wrongTab.length; i++) {

    wrongTab[i].removeAttribute("style");

    }

    }

    Kann man da was machen? Ist mein Problem verständlich geschildert?Ganz herzlichen Dank im Voraus!

    Viele Grüße

  • Hallo,

    du könntest einfach die gleiche Funktionalität('ScrollIntoView()') bei jedem Select-Event zu dem Skript aus Endors Sammlung hinzufügen:

    Etwa so (ungetestet!):

    JavaScript
        // ...  
        // TabSelect-Event:  
        // ...
        gBrowser.tabContainer.addEventListener("TabSelect", function(event) {
            
            event.target.scrollIntoView({behavior: "smooth", block: "nearest", inline: "nearest"});
    
        }, true);