Tips

階層化

メニューにメニューを登録することで、階層化が可能。以下はHelpに載ってる例。

KC_main = {

',' ,%M_exec

}

M_exec = {

&app1 = c:\bin\app1

app&2 = c:\bin\app2

app&3 = c:\bin\app3

その他 = %M_execsub

}

M_execsub = {

app&4 = c:\bin\app4

app&5 = c:\bin\app5

&shutdown = *shutdown

}

特殊メニュー

・「?xxx」と、?で始まる名前を記載するとメニューが下層として挿入されます。

・「??xxx」と、??で始まる名前を記載するとメニューが展開されます。

カスタマイズ詳細 - メニュー

に、特殊メニュー一覧がある。

以下はそこにあるサンプルメニュー。??M_pjumpだけ、メニューが展開している。

M_sample = {

PPc一覧 = ?ppclist

PPx一覧 = ?ppxidlist

レイアウト = ?layoutmenu

dock上 = ?docktmenu

ソート = ?sortmenu

表示 = ?viewmenu

作成 = ?newmenu

ドライブ = ?drivemenu

ドライブ表示 = ?drivelist

お気に入り = ?favorites

-- =

ここは使われない = ??M_pjump

}

メニューとコマンドの組み合わせ

メニューは、他のコマンドと組み合わせることができる。

例えば、フォルダ履歴ジャンプメニューを自作する時、

M_history = {

A = %hp0

B = %hp1

C = %hp2

D = %hp3

E = %hp4

F = %hp5

G = %hp6

H = %hp7

I = %hp8

J = %hp9

}

KC_main = {

H ,%j%M_history,A

}

のようにもできるし、

M_history = {

A = %j %hp0

B = %j %hp1

C = %j %hp2

D = %j %hp3

E = %j %hp4

F = %j %hp5

G = %j %hp6

H = %j %hp7

I = %j %hp8

J = %j %hp9

}

KC_main = {

H ,%M_history,A

}

ともできるわけだ。

拡張子判別との組み合わせ

拡張子判別と組み合わせることで、拡張子ごとに専用のメニューを表示することができる。

テキストファイルであれば、それを投げるエディタ一覧をメニューで表示したり、画像ファイルであれば、それを投げるビューア一覧をメニューで表示したり、といったことができるわけだ。

これはテキストファイルの場合。

E_scr = { ; \[Enter]用判別

TXT ,%M_Text,X

INI ,%M_Text,X

CFG ,%M_Text,X

}

-|M_Text =

M_Text = { ** comment **

&xyzzy = %Ob D:\bin\xyzzy\xyzzy.exe %FCD

&oedit = %Ob D:\bin\oedit\oedit.exe %FCD

-- =

xyzzyで印刷(&P) = %Ob D:\bin\xyzzy\xyzzy.exe -p %FCD

}

これは画像ファイルの場合。

E_scr = { ; \[Enter]用判別

JPG ,%M_Picture,A

PNG ,%M_Picture,A

JPEG ,%M_Picture,A

BMP ,%M_Picture,A

}

-|M_Picture =

M_Picture = { ** comment **

&Azpainter = %Ob D:\bin\azpt\AzPainter2.exe %FCD

&MassiGra = %Ob D:\bin\MassiGra\MassiGra.exe %FCD

ペイント(&P) = mspaint %FCD

-- =

壁紙にする(&W) = *customize X_bg:Path=%FDC %: *customize X_bg:Type=10

}

ショートカットキー

項目名のアルファベットの前に「&」を付けると、その文字がショートカットキーになる。

メニューを呼び出す際、

%M_test,s

のように「,」の後にショートカットキーを付けると、その項目を選択した状態でメニューが表示される。