Кто-нибудь знает, могу ли я переместить все вкладки, соответствующие выражению, в другую группу вкладок? Если так, то как?
1 ответ
Решение.
Следующий ex-файл Pentadactyl (со встроенным Javascript) должен содержать команду, которая будет сопоставлять метку всех вкладок регулярному выражению и перемещать соответствующие вкладки в группу с указанным идентификатором. Обратите внимание, что при сопоставлении регистр не учитывается.
" 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
Я загрузил его в Github как Gist, так что вы можете скачать его оттуда, если хотите.
Этот скрипт требует плагина TabGroupie .
предупреждение : в моей системе размещение этого плагина в
~/.pentadactyl/plugins
(которое загружается при запуске Pentadactyl) полностью нарушает функциональность групп вкладок. Чтобы это исправить, я должен отключить пентадактиль, перезапустить FF и включить пентадактиль. Похоже, что решение состоит в том, чтобы загрузить TabGroupie после запуска Pentadactyl (удалив его из каталога/plugins/
и просто получив источник после запуска FF).
Рекомендуемая настройка
Сохраните оба файла tgroup-moveselected.penta и TabGroupie.js в вашем каталоге
~/.pentadactyl
.Добавьте следующую строку в ваш
.pentadactylrc
:command! tginit :source ~/.pentadactyl/TabGroupie.js | source ~/.pentadactyl/tgroupmoveselected.penta
Когда вы запускаете FF, вы можете инициализировать функциональность группы вкладок Pentadactyl с помощью команды
:tginit
.Если вы хотите часто использовать определенный шаблон и / или группу вкладок, вы можете создать отображение или команду в качестве ярлыка. Например, если вы хотите использовать Cm в качестве горячей клавиши для отправки всех вкладок с "пентадактилем" в заголовке в группу вкладок с идентификатором "penta", вы можете использовать эту команду:
:map <C-m> :tgroup-moveselected "penta" "pentadactyl"<CR>