해결책.

해결책.

표현식과 일치하는 모든 탭을 다른 탭 그룹으로 이동할 수 있는지 아는 사람이 있나요? 그렇다면 어떻게?

답변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이 시작되었습니다(디렉토리에서 Pentadactyl을 제거 /plugins/하고 FF가 시작된 후에만 소싱함으로써).

권장 설정

  • 둘 다 저장tgroup-moveselected.penta그리고TabGroupie.js귀하의 디렉토리에 ~/.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>
    

관련 정보