Tablacus Explorerで左右のペインをワンクリックで入れ替える方法

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ペインで使っている人には、なかなか便利だと思います。

“`

スポンサーリンク
レクタングル大
レクタングル大

シェアする

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

フォローする