「復元スクリプト」とは、今のタブ構成や、現在のタブの状態をバックアップするために用いられ、何らかの方法で自動生成されるスクリプトファイルのことを、このように呼んでおります。
「ランチャー」バーや「お気に入り」バーなどのユーザー定義バーに作成する方法と、タブセットとして複数のタブの構成をまとめて切り替えるために利用されています。
本ページは、理解度を深める助けになればと、また仕様公開の目的で書かれたものですので、あまり重要な話ではありません。
※Ver.14以前のFullStateOpenは「開く」動作でした。
Ver.15以降はアクティブタブを考慮しているため「バックグラウンドで開く」動作になっています。
ユーザー定義バーにて新規作成する場合のコマンドの場所
ファイルの作成場所:[ユーザー情報の格納ディレクトリ]\Bar\[ユーザー定義バーのディレクトリ名]\[ユーザー定義バーで開いていた階層]
タブセットを切り替える場合のコマンドの場所
ファイルの作成場所:[ユーザー情報の格納ディレクトリ]\Tabset\Tabset[現在のタブセット番号].txt
他のスクリプトと同様に以下のような、UNICODEのテキストファイルです。
難しそうに見えますが気のせいです、実はたいしたことをやってません。
先頭に「//」がある行は、コメント行です。
各機能ごとの先頭に、どういうものなのかを示す目的で自動挿入されています。
//Icon①
Icon=C:\WINDOWS\system32\shell32.dll,19
//Close all command②
SendMessage=35113
//Tab Information③
FullStateOpen=0001|0000|0000|0 1 0 02 00 0 00000097 00000016 00000000 00 00 C:\Users\UserName\Desktop|
FullStateOpen=0001|0000|0000|0 1 0 02 01 0 00000095 00000032 00000000 00 00 C:\Users\UserName\Downloads|
FullStateOpen=0001|0000|0000|0 1 0 02 01 0 00000095 00000032 00000000 00 00 C:\Users\UserName\Documents|
FullStateOpen=0001|0000|0012|0 1 0 02 00 0 00000090 00000016 00000000 00 00 ::{26EE0668-A00A-44D7-9371-BEB064C98683}\3|
//Maximize child windows(TAB filer mode)④
PostMessage=35912
//Active tab number⑤
ActiveTabNo=2
①ユーザー定義バー上に表示するアイコン画像を指定しています。
Iconコマンドの詳細は「
その他のスクリプトコマンド」を参照ください。
タブセットの場合、画面がないのでこのコマンドは出力されません。
②全てのタブを閉じる事を命じるコマンドです。
以降にタブを開くコマンドがあるので同期処理を行う「SendMessage」を使用しています。
ユーザー定義バーにて「現在のタブ」「全てのタブ」の場合は出力されません。
「タブセット」「一旦閉じる+全てのタブ」の場合に出力されます。
③各タブごとの情報です。
タブ内部のインサイドツリー、分割の有無、現在パス、表示モード、並び順などが定義された「FullStateOpen」コマンドを使用しています。
Iconコマンドの詳細は「
その他のスクリプトコマンド」を参照ください。
Iconコマンドの詳細は「
ウィンドウ制御文字列の書式」を参照ください。
数字が並んでる辺りは、作者も覚える気がないくらいの細かい情報になります。
後ろのパスの部分を見て、行ごと追加/削除を行って並び替えたり、タブを削除といったメンテナンスをすることができます。
④子ウィンドウを「並べて表示」コマンド等を使用した後の「MDIモード」と、タブ切替型のファイラーの「タブ切替モード」がありますが、後者の「タブ切替モード」の場合に出力されるコマンドで、各タブ(子ウィンドウ)を最大化表示することを命じるコマンドです。
ユーザー定義バーにて「現在のタブ」「全てのタブ」の場合は出力されません。
「タブセット」「一旦閉じる+全てのタブ」の場合に出力されます。
「並べて表示」コマンドなどをした場合に切り替わる「MDIモード」の場合、②の全てを閉じるコマンドの前にPostMessage=35913(子ウィンドウを並べて表示)が出力されます。
⑤スクリプト終了時にアクティブにするタブを指定するコマンドです。
ユーザー定義バーにて「現在のタブ」「全てのタブ」「一旦閉じる+全てのタブ」の場合は出力されません。
「タブセット」の場合に出力されます。
※「一旦閉じる+全てのタブ」は挙動の改善ができれば、出力されるようになる可能性があります。
以下の表のように出力する機能によって、スクリプトの構成が変わります。
| 現在のタブ | 全てのタブ | 一旦閉じる+全てのタブ | タブセット |
---|
アイコン | ○ | ○ | ○ | × |
全て閉じる | × | × | ○ | ○ |
MDI/タブモード切替 | × | × | ○ | ○ |
タブ情報 | 1個だけ | 全て | 全て | 終了時/タブセット破棄時の保存設定 |
アクティブタブ | × | × | × | ○ |
あと補足です。
タブセットの切り替えおよび、起動時は、高速化を目的とした特殊なスクリプト読み込みがエンジンであるため「FullStateOpen」と「ActiveTabNo」しか読んでいません。
SendMessageなどは、汎用的なスクリプトとして使用できるように埋め込まれているものになります。