Lösung.

Lösung.

Weiß jemand, ob ich alle Registerkarten, die einem Ausdruck entsprechen, in eine andere Registerkartengruppe verschieben kann? Und wenn ja, wie?

Antwort1

Lösung.

  • Die folgende Pentadactyl-Ex-Datei (mit eingebettetem Javascript) sollte einen Befehl bereitstellen, der die Beschriftung aller Registerkarten mit einem regulären Ausdruck abgleicht und übereinstimmende Registerkarten in eine Gruppe mit angegebener ID verschiebt. Beachten Sie, dass beim Abgleich die Groß-/Kleinschreibung nicht beachtet wird.

    " tgroup-moveselected.penta
    " Provides the command tgroup-moveselected, which moves all tabs matching a
    " given regular expression to the group with specified id.
    " eg.  :tgroup-moveselected "penta" "pentadactyl"
    "      moves any tabs whose label matches /pentadactyl/ to the group with id "penta"
    " Requires the TabGroupie plugin.
    
    command! tgroup-moveselected 
        \ -nargs=+ 
        \ -description "move tabs matching regex to a given group" 
        \ -js tgroupMoveSelected(args[0], RegExp(args[1]))
    
    js <<EOF
    
    function getPlugin(s) {
        for (x in plugins.contexts) {
            if (x.contains(s))
                return plugins.contexts[x][s];
        }
    }
    
    var TabGroupie = getPlugin("TabGroupie");
    
    function matchingTabs(rx) {
        var alltabs = tabs.allTabs;
        var alltabs = gBrowser.getTabsToTheEndFrom(0);
        function matches(t) {
            return rx.test(t.label.toLowerCase());
        }
        var matching = alltabs.filter(matches);
        return matching;
    }
    
    function matchingTabsInGroup(rx) {
        var alltabs = gBrowser.getTabsToTheEndFrom(0);
        function matches(t) {
            return rx.test(t.label.toLowerCase());
        }
        var matching = alltabs.filter(matches);
        return matching;
    }
    
    function tgroupMoveSelected (targetgrp, rx) {
        var matching = matchingTabs(rx);
        var tgrpId = TabGroupie.getIdByTitle(targetgrp);
        var i, t;
        for (i=0; i<matching.length; ++i) {
            t = matching[i];
            TabView.moveTabTo(t, tgrpId);
        }
        TabView.hide();
    }
    
    EOF
    
  • Ich habe es auf Github hochgeladen alsKern, Sie können es also von dort herunterladen, wenn Sie möchten.

  • Dieses Skript erfordert dieTabGroupiePlugin.

    Warnung: Auf meinem System führt das Einfügen dieses Plugins ~/.pentadactyl/plugins(das geladen wird, wenn Pentadactyl gestartet wird) dazu, dass die Tab-Gruppen-Funktionalität vollständig unterbrochen wird. Um das zu beheben, muss ich Pentadactyl deaktivieren, FF neu starten und Pentadactyl erneut aktivieren. Die Lösung scheint darin zu bestehen, TabGroupie zu laden.nachPentadactyl wurde gestartet (indem es aus dem /plugins/Verzeichnis entfernt und erst nach dem Start von FF als Sourcing verwendet wurde).

Empfohlenes Setup

  • Speichern Sie beidetgroup-moveselected.pentaUndTabGroupie.jsin Ihrem ~/.pentadactylVerzeichnis.

  • Fügen Sie Ihrer die folgende Zeile hinzu .pentadactylrc:

    command! tginit :source ~/.pentadactyl/TabGroupie.js | source ~/.pentadactyl/tgroupmoveselected.penta
    
  • Wenn Sie FF starten, können Sie die Pentadactyl-Registerkartengruppenfunktionalität mit dem Befehl initialisieren :tginit.

  • Wenn Sie ein bestimmtes Muster und/oder eine bestimmte Registerkartengruppe häufig verwenden möchten, können Sie eine Zuordnung oder einen Befehl als Tastenkombination erstellen. Wenn Sie beispielsweise C-mals Hotkey alle Registerkarten mit „pentadactyl“ im Titel an eine Registerkartengruppe mit der ID „penta“ senden möchten, können Sie diesen Befehl verwenden:

    :map <C-m> :tgroup-moveselected "penta" "pentadactyl"<CR>
    

verwandte Informationen