読者です 読者をやめる 読者になる 読者になる

KeySnailでタブを操作するプラグイン 「TabSnail」 を作った

KeySnail Firefox JavaScript

以前公開した,ツリー型タブをKeySnailから操作するコマンド群をKeySnailプラグイン化してみました。インストールすると,タブ操作用の各種エクステ (コマンド)が利用できるようになります。ツリー型タブがインストールされていると,ツリー操作用のエクステも使えるようになります 。

インストールはこちらから
http://github.com/gifnksm/TabSnail/raw/master/tabsnail.ks.js

前回の記事(d:id:gifnksm:20100622:1277224479)からの差分は,プラグイン化したことと,タブ移動系のコマンドが増えていることの2つです。
.keysnail.js に以下を書き込むと,各コマンドにショートカットキーを割り当てることができます。

key.setViewKey(['U'], function (ev, arg) {
    ext.exec("tst-select-parent-tab", arg, ev);
}, '親タブを選択する');

key.setViewKey(['t', '^'], function (ev, arg) {
    ext.exec("tst-select-first-child-tab", arg, ev);
}, '最初の子タブを選択する');

key.setViewKey(['t', '$'], function (ev, arg) {
    ext.exec("tst-select-last-child-tab", arg, ev);
}, '最後の子タブを選択する');

key.setViewKey('^', function (ev, arg) {
    ext.exec("tst-select-first-sibling-tab", arg, ev);
}, '最初の兄弟タブを選択する', true);

key.setViewKey('$', function (ev, arg) {
    ext.exec("tst-select-last-sibling-tab", arg, ev);
}, '最後の兄弟タブを選択する', true);

key.setViewKey('H', function (ev, arg) {
    ext.exec("tst-select-previous-sibling-tab", arg, ev);
}, '前の兄弟タブを選択する');

key.setViewKey('L', function (ev, arg) {
    ext.exec("tst-select-next-sibling-tab", arg, ev);
}, '次の兄弟タブを選択する');

key.setViewKey(['t', 'p'], function (ev, arg) {
    ext.exec("tst-read-selected-tab-later", arg, ev);
}, '選択中のタブを後回しにする');

key.setGlobalKey('C-P', function (ev, arg) {
    ext.exec('tst-move-selected-tab-left', arg, ev);
}, '選択中のタブを左へ移動する');

key.setGlobalKey('C-N', function (ev, arg) {
    ext.exec('tst-move-selected-tab-right', arg, ev);
}, '選択中のタブを右へ移動する');

key.setGlobalKey('C-B', function (ev, arg) {
    ext.exec("tst-promote-tab", arg, ev);
}, '選択中のタブを1つ上の階層に移動する');

key.setGlobalKey('C-F', function (ev, arg) {
    ext.exec("tst-demote-tab", arg, ev);
}, '選択中のタブを1つ下の階層に移動する');

key.setViewKey(['t', 'SPC'], function (ev, arg) {
    ext.exec("tst-toggle-collapse-expand-tree", arg, ev);
}, 'タブの折りたたみをトグル', true);

key.setViewKey(['t', 't'], function (ev, arg) {
    ext.exec("tst-toggle-autohide-tabbar", arg, ev);
}, 'タブバーの表示をトグル', true);