解決。

解決。

式に一致するすべてのタブを別のタブ グループに移動できるかどうか知っている人はいますか? できる場合、方法は?

答え1

解決。

  • 次の Pentadactyl ex ファイル (Javascript が埋め込まれている) は、すべてのタブのラベルを正規表現と照合し、一致するタブを指定された ID のグループに移動するコマンドを提供する必要があります。照合では大文字と小文字が区別されないことに注意してください。

    " 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にアップロードしました要旨ですので、必要に応じてそこからダウンロードできます。

  • このスクリプトにはタブグルーピープラグイン。

    警告: 私のシステムでは、このプラグインを配置すると~/.pentadactyl/plugins(Pentadactylの起動時に読み込まれる)、タブグループの機能が完全に壊れます。これを修正するには、Pentadactylを無効にし、FFを再起動して、Pentadactylを再度有効にする必要があります。解決策は、TabGroupieをロードすることのようです。Pentadactyl が起動しました (ディレクトリから削除し/plugins/、FF が起動したらソースを取得するだけです)。

推奨設定

  • 両方保存するtgroup-moveselected.pentaそしてタブグループディレクトリ内~/.pentadactyl

  • 次の行を に追加します.pentadactylrc:

    command! tginit :source ~/.pentadactyl/TabGroupie.js | source ~/.pentadactyl/tgroupmoveselected.penta
    
  • FF を起動するときに、コマンドを使用して Pentadactyl タブ グループ機能を初期化できます:tginit

  • 特定のパターンやタブ グループを頻繁に使用したい場合は、マッピングまたはコマンドをショートカットとして作成できます。たとえば、C-mタイトルに「pentadactyl」が含まれるすべてのタブを ID「penta」のタブ グループに送信するホットキーとして使用したい場合は、次のコマンドを使用できます。

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

関連情報