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