Solução.
-
O seguinte arquivo Pentadactyl ex (com Javascript integrado) deve fornecer um comando que corresponderá ao rótulo de todas as guias para uma expressão regular e moverá as guias correspondentes para um grupo com o ID especificado. Observe que a correspondência não diferencia maiúsculas de minúsculas.
" 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
-
Eu fiz o upload para o Github como um Gist , para que você possa baixá-lo de lá, se você gostar.
-
Este script requer o plug-in TabGroupie .
warning : No meu sistema, colocar este plugin em
~/.pentadactyl/plugins
(a ser carregado quando o Pentadactyl for iniciado) quebra completamente a funcionalidade dos grupos de guias. Para consertar isso, tenho que desabilitar o Pentadactyl, reiniciar o FF e reativar o Pentadactyl. A solução parece ser carregar o TabGroupie após o Pentadactyl ter sido iniciado (removendo-o do diretório/plugins/
e apenas fornecendo uma vez que o FF tenha iniciado).
Configuração recomendada
-
Salve os tgroup-moveselected.penta e TabGroupie.js no seu diretório
~/.pentadactyl
. -
Adicione a seguinte linha ao seu
.pentadactylrc
:command! tginit :source ~/.pentadactyl/TabGroupie.js | source ~/.pentadactyl/tgroupmoveselected.penta
-
Quando você inicia o FF, é possível inicializar a funcionalidade do grupo de guias Pentadactyl com o comando
:tginit
. -
Se você quiser usar um determinado padrão e / ou grupo de guias com freqüência, poderá criar um mapeamento ou um comando como um atalho. Por exemplo, se você quisesse usar C-m como uma tecla de atalho para enviar todas as abas com "pentadactyl" no título para um grupo de abas com id "penta", você poderia usar este comando:
:map <C-m> :tgroup-moveselected "penta" "pentadactyl"<CR>