treestyletab.js

概要

Firefoxアドオンの「Tree Style Tab」を、Vimperator上から操作するplugin。

  • Tree Style Tab が用意して下さっているAPIをそれなりに実装。
  • カレントタブを指定したタブの子にしたり、ツリーを複製したり、ツリーを閉じたり開いたりできます。
  • vimperatorの補完機能を使用してるので、それなりに直感的に操作できると思います。
  • 実装内容は独自解釈に基づいているため、人によっては使いづらいかも。
  • 全ての機能はコマンドモードで動作。
  • .vimperatorrcなどでキーマップを自前で編集して使用することを想定してます。
  • 当方プラグイン作成初級者なので変な部分ありましたらお手柔らかにお願いします。

動作環境

Firefox 4以降で

  1. Vimperator アドオン ver3.1 以降
  2. Tree Style Tab ver 0.12.2011061701 以降

上記2点がインストールされている環境。

Win7 Home 64bit Firefox5 Vimp3.1 TreeStyleTab 0.12.2011061701で動作確認しています。

使い方

  1. treestyletab.jsを、~/.vimperator/plugin/ (<–Vimperatorのプラグインフォルダ)へ入れて下さい。
  2. Firefoxを再起動すると、コマンドが使えるようになります。
  3. キーマップを指定したい人は、.vimperatorrcなどに、”nnoremap ,ta :treestyle attach”等と設定して使って下さい。

コマンド

下記のコマンドが使用できます。

コマンド 説明
:treestyle attach tNumber カレントタブ(%)を選択したタブの子に移動する
移動元タブの子タブを同時に移動するかは、アドオンの設定に従う
:treestyle attach! tNumber 選択したタブをカレントディレクトリ(%)の子に移動する。
移動元タブの子タブを同時に移動するかは、アドオンの設定に従う
:treestyle detach tNumber 選択したタブをツリーから切り離す
引数を指定しなかった場合カレントタブ(%)を切り離す
切り離したタブはタブバーの最後に移動する
:treestyle detachChildren pNumber 選択したタブの子タブを全てツリーから切り離す
引数を指定しなかった場合カレントタブ(%)の子を切り離す
切り離したタブは全てタブバーの最後に移動する
:treestyle detachAll 全てのタブをツリーから切り離す
:treestyle expand tNumber ツリーを開閉する
(閉じている場合は開き、開いている場合は閉じる)
引数を指定しなかった場合カレントタブ(%)を選択タブとする。
選択タブがツリーの子の場合、親ツリーを閉じる
:treestyle expandall 全ツリーを開閉する
ひとつでも開いている場合は全て閉じ、
全て閉じられている場合は全て開く
:treestyle expandall! 全ツリーを開閉する
ひとつでも閉じている場合は全て開き、
全て開いている場合は全て閉じる
:treestyle duplicate tNumber カレントツリーを選択したタブの前に複製する
引数を指定しなかった場合、全タブの最後に複製する
:treestyle duplicate! tNumber カレントツリーを選択したタブの前に複製する
引数を指定しなかった場合、全タブの最後に複製する
:treestyle move tNumber カレントタブをツリーから切り離し、
指定したタブのルートタブの前へ移動する
引数を指定しなかった場合最後に移動する
:treestyle move! tNumber カレントタブをツリーから切り離し、
指定したタブの前(非ルート)へ移動する
この時移動したタブの親子関係は維持されるため、
移動先によってはツリー構造が崩れるので注意
:treestyle promote tNumber 選択したタブを昇格する(タブを上の階層に上げる)
引数を指定しなかった場合カレントタブを昇格する
:treestyle demote tNumber 選択したタブを降格する(タブを下の階層に下げる)
引数を指定しなかった場合カレントタブを降格する
:treestyle previous 同一階層の前のタブへ移動する
:treestyle previous! 同一階層の前のタブへ移動する。
タブの一番上で実行した際、一番下へループする
:treestyle next 同一階層の次のタブへ移動する
:treestyle next! 同一階層の次のタブへ移動する。
タブの一番下で実行した際、一番上へループする
:treestyle enabled ツリー表示の有効・無効を切り替える。
:treestyle position Position タブバーの位置を変更する。
変更可能な位置は下記の通り。

  • Top
  • Right
  • Bottom
  • Left
:treestyle resizeTab Width タブバーを指定した値にリサイズする
タブバーを右または左に配置していたときのみ有効
resizeTab!とした場合、常に展開状態のタブバーの幅を変える
(未使用の為詳細不明)
:treestyle resizeContent Width ウィンドウ(タブバー以外)を指定した値にリサイズする
Window Mode時かつ幅に十分な余裕がある時は、
ウィンドウ全体を拡大
Fullscreen Mode時または幅に十分な余裕がない時は、
タブバーを縮める
resizeContent!とした場合、ウィンドウサイズをそのままに、
タブバーのサイズを変更する(未使用の為詳細不明)

参考にさせていただいたサイト

不具合について

デバッグ不足が原因で思わぬ動作をする可能性があります。
もし原因が特定できた場合、ご連絡をいただければ
直したり直さなかったりするかもしれません。

ご要望について

こうしてほしい・こういった機能を追加できないか、という
ご要望がある場合、ご連絡をいただければ、
実装内容・自分のスキル・かかる手間を考慮した上で、
そのうち実装したりしなかったりするかもしれません。

連絡先

ご連絡は右メニューのメールかtwitterへお願いします。
(twitterの方が反応早いと思います)

更新情報

日付 内容
2015/01/20 ver 0.0.2を公開・現行のFirefox(ver.35.0)で動作しなかった問題を修正
・補完候補の並び順が逆転していたのを修正
2011/07/26 ver 0.0.1を公開

シェアする

  • このエントリーをはてなブックマークに追加

フォローする