
Tablacus Explorerを左右2ペインで使っているのですが、
「左側で開いているペインと右側で開いているペインを、そのまま入れ替えたい」
と思うことが時々あります。
例えば、
左:D:\作業
右:E:\資料
となっているものを、
左:E:\資料
右:D:\作業
にしたい、ということ。
タブを一個ずつ移動させるのではなく、左右のペインを丸ごと「⇄」と入れ替えたいわけです。
探してみたのですが、それ専用のアドオンは見当たりませんでした。
しかし、Tablacus ExplorerではJScriptを登録して操作できるので、簡単なスクリプトを作れば実現できました。
備忘録として残しておきます。
やりたいこと
普段、Tablacus Explorerをこんな感じで左右2分割して使っています。
┌────────────┬────────────┐
│ 左ペイン │ 右ペイン │
│ │ │
│ タブ1 │ タブ4 │
│ タブ2 │ タブ5 │
│ タブ3 │ │
│ │ │
└────────────┴────────────┘
これをボタン一発で、
┌────────────┬────────────┐
│ 右ペイン │ 左ペイン │
│ │ │
│ タブ4 │ タブ1 │
│ タブ5 │ タブ2 │
│ │ タブ3 │
│ │ │
└────────────┴────────────┘
と入れ替えます。
重要なのは、タブの中身をコピーしたり開き直したりするのではなく、ペインそのものの表示位置を交換するというところです。
使用するJScript
以下のスクリプトを使います。
var cTC = te.Ctrls(CTRL_TC, true);
if (cTC.Count == 2) {
var TC1 = cTC[0];
var TC2 = cTC[1];
var Left = TC1.Left;
var Top = TC1.Top;
var Width = TC1.Width;
var Height = TC1.Height;
TC1.Left = TC2.Left;
TC1.Top = TC2.Top;
TC1.Width = TC2.Width;
TC1.Height = TC2.Height;
TC2.Left = Left;
TC2.Top = Top;
TC2.Width = Width;
TC2.Height = Height;
}
やっていることは非常に単純です。
Tablacus Explorerの2つのTab Controlを取得して、
- Left
- Top
- Width
- Height
の4つを入れ替えています。
つまり、
「左側にあるペインを右側の場所へ移動」
「右側にあるペインを左側の場所へ移動」
しているだけです。
タブを移動しているわけではないので、複数のタブを開いていてもそのまま入れ替わります。
ツールバーに登録する
私はツールバーに「左右ペイン交換」ボタンとして登録しました。
Tablacus Explorerのツールバー設定を開き、新しい項目を追加します。
設定は、
名前:左右ペイン交換
タイプ:JScript
として、「オプション」に先ほどのJScriptを貼り付けます。
あとは好きなアイコンを指定してツールバーに追加。
これでボタンを押すと、
左:D:\作業
右:E:\資料
だったものが、
左:E:\資料
右:D:\作業
に一発で入れ替わります。
もう一度押せば元に戻ります。
タブを複数開いていても大丈夫
例えば、
左ペイン
├─ D:\仕事
├─ D:\資料
└─ D:\一時
右ペイン
├─ E:\写真
└─ E:\バックアップ
だった場合でも、実行すると、
左ペイン
├─ E:\写真
└─ E:\バックアップ
右ペイン
├─ D:\仕事
├─ D:\資料
└─ D:\一時
となります。
これが今回やりたかった動作そのもの。
ペインの中にあるタブを1個ずつ移動する必要がありません。
左右の幅が違っていても交換される
このスクリプトでは Left や Top だけでなく、Width と Height も交換しています。
そのため、
左30%:右70%
のようなレイアウトでも、ペインの表示領域ごと交換されます。
Tablacus Explorer本体の設定画面にあるペインの「Swap」も、基本的には同じ考え方で位置・サイズを入れ替えているようです。
なので、変にタブを移動させるより、この方法の方が素直なやり方だと思います。
2ペインのときだけ動作するようにした
スクリプトの最初に、
if (cTC.Count == 2) {
と入れています。
つまり、Tab Controlがちょうど2つある場合だけ実行します。
3ペイン、4ペインにした場合、
「どのペインとどのペインを交換するんだ?」
という話になるので、今回は何もしない仕様にしました。
私は基本的に左右2ペイン固定で使っているので、これで問題ありません。
これは便利
Tablacus Explorerを左右2分割して使っていると、
「こっちを左に持ってきたいな」
という場面が意外とあります。
これまではフォルダを開き直したり、タブを動かしたりしていたのですが、ボタン一発で左右を交換できるようになりました。
地味。
ものすごく地味。
でも、こういう毎日使う操作の「ちょっと面倒」がなくなるのは結構大きいんですよねー。
Tablacus Explorerを左右2ペインで使っている人には、なかなか便利だと思います。
“`