Verschieben Sie die entsprechenden Registerkarten in eine neue Registerkartengruppe in Pentadactyl

586
BitShifter

Weiß jemand, ob ich alle Registerkarten, die einem Ausdruck entsprechen, in eine andere Registerkartengruppe verschieben kann? Wenn das so ist, wie?

1

1 Antwort auf die Frage

0
pyrocrasty

Lösung.

  • Die folgende Pentadactyl-Ex-Datei (mit eingebettetem Javascript) sollte einen Befehl enthalten, der die Bezeichnung aller Registerkarten mit einem regulären Ausdruck abgleichen und übereinstimmende Registerkarten in eine Gruppe mit der angegebenen ID verschieben soll. Beachten Sie, dass bei der Zuordnung die Groß- und Kleinschreibung nicht berücksichtigt 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 als Gist auf Github hochgeladen, sodass Sie es von dort herunterladen können, wenn Sie möchten.

  • Dieses Skript erfordert das TabGroupie- Plugin.

    Warnung : ~/.pentadactyl/pluginsWenn Sie dieses Plugin in meinem System platzieren (wird beim Start von Pentadactyl geladen), wird die Funktionalität der Registerkartengruppen vollständig deaktiviert. Um das Problem zu beheben, muss ich Pentadactyl deaktivieren, FF neu starten und Pentadactyl wieder aktivieren. Die Lösung scheint zu sein, TabGroupie nach dem Start von Pentadactyl zu laden (indem Sie es aus dem /plugins/Verzeichnis entfernen und nach dem Start von FF nur noch Sourcing durchführen).

Empfohlenes Setup

  • Speichern Sie sowohl tgroup-moveselected.penta als auch TabGroupie.js in Ihrem ~/.pentadactylVerzeichnis.

  • Fügen Sie folgende Zeile hinzu .pentadactylrc:

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

  • Wenn Sie eine bestimmte Muster- und / oder Registerkartengruppe häufig verwenden möchten, können Sie ein Mapping oder einen Befehl als Verknüpfung erstellen. Wenn Sie beispielsweise C-mals Tabulatortaste 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>