2008-01-14

PPx 独自メニューの割り当てに挑戦

ほんのちょっとばかりPPxが使えるような気になったものだから、しばらくは身の程知らずな無謀な試みをやめ、これまで学んだことだけでPPxを操ることで満足していた。
が、正月休みという長い時間を過ごすうちに、目を見張るばかりのバージョンアップを目のあたりにしてしまい(せっかくバージョンアップしてもらっても、たいして活用できてないのがほんと悲しい)、これまでできなかったことに挑戦することにした。
というわけでその挑戦とは、独自メニューの割り当てなわけである。

最終目的は「テキストファイルを任意のエディタで開く」というごく簡単なもの。

これは、べつに独自にメニューを割り当てなくとも、
M_exec(個人用実行メニュー)に割り当てれば簡単にできる。
あるいは選択エントリーのファイルパスを関連付け版「esExt5」に投げてやってもいい。

でもせっかく本体に独自でメニューを割り当てられる機能がついているのだから、どうしてもそれを利用してみたい。

ヘルプファイルを読んでみると、ものすごく簡単そうに見える。
できないわけはない。そう思ったわけである。

以下ヘルプの該当箇所の抜粋

メニューを複雑/付け足し/階層化したい
M_xxxx の名前でメニューを作成し、「%M_xxxx」を使うことでメニューを表示します。

PPxはメニューの追加や階層化が可能です。

また、メニュー内に「%M_xxxx」を記載することで階層化されます。


例)PPcで各種アプリケーションの実行メニュー M_exec を「,」キーに登録する。M_execは下位階層のメニューM_execsubを持つ。

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
}
更に、次のようにメニューを使って選択肢を挿入することができます。
例)PPcの[?]にパスジャンプメニュー M_jump2 を追加する
KC_main = {
'?' ,%j%M_jump2
}
M_jump2 = {
&1 bin = c:\bin
&2 temp = %'temp'
&3 etc = %M_pjump
}


まず、M_Editor の名前でメニューを作成してみる。
M_Editor = {
&EmEditor = "C:\Program Files\EmEditor\EmEditor.exe"
&NTL = "C:\Program Files\NoteTab Light\NoteTab.exe"
Sa&kura  = C:\tool\Sakura\sakura.exe
&Stirling = C:\tool\stir131\Stirling.exe
}


これをPPX.CFGのM_execの後に追加して保存。
ここまではわけない。問題はこの先。これだけだと使い物にならない。
ヘルプとにらめっこ。それによるとPPcのメインメニューに%M_Editorを追加しないといけないらしい。
それだけではなく適当なキーを割り当てる必要があるようだ。そこで割り当てキーは ^E にすることにする。

KC_main = { ; PPcメイン窓
 中略
^E ,%M_Editor
 以下略


これで任意のエディタでファイルが開けるはず。なんだ、簡単じゃねえかと試してみたところ、エディタは開けるが、選択したファイルが開けない。
なんでなんだぁ~!!! ・・・一晩寝て、考えた。

冷静になって考えてみると、PPxにファイルのパスを渡してないことに気がついた。
PPxにファイルのパスに渡すにはどうすればいいんだっけかなぁ・・・
再度ヘルプファイルとにらめっこ。
%FDC あるいは %#FDCとかをくっつけないとパスが渡らない。
M_Editorのほうにつけるのか、KC_mainのほうにつけるのかわからなかったので試したところ、M_Editorのほうでよいことが判明。

M_Editor = {
&EmEditor = "C:\Program Files\EmEditor\EmEditor.exe" %#FDCB
&NTL = "C:\Program Files\NoteTab Light\NoteTab.exe" %#FDCB
Sa&kura = C:\tool\Sakura\sakura.exe %#FDCB
&Stirling = C:\tool\stir131\Stirling.exe %FDCB
}



というわけで、M_Editorを上記のように修正し、再挑戦したところ、ビンゴ!!
途中でつまずいたものの、目標はめでたく達成、独自メニューのできあがり。

せっかく独自メニューをマスターしたのだからと、調子にのっていろいろ割り当ててみた。
画像用メニュー
M_Picture = {
&PhotoFiltre = "C:\Program Files\PhotoFiltre\PhotoFiltre.exe" %#FDCB
FS &Resize = "C:\Program Files\FastStone Photo Resizer\FSResizer.exe" %#FCD
FS &Viewer = "C:\Program Files\FastStone Image Viewer\FSViewer.exe" %#FCD
P&NG = C:\tool\Yukari\BlastPNG.exe %#FCD
}
    検索用メニュー
    M_Search = {
    &getia = C:\soft\getia\getia.exe %#FCD
    %snowbird = C:\soft\snowbird_xp\Snowbird.exe %#FCD
    %locate32 = "C:\Program Files\locate32\locate32.exe" %#FCD
    }
    で、あれこれやってみてわかったこと。
    確かに独自メニューに特定のキーを割り当てるのは便利だけれど、割り当てたキーがなんだったか覚えきれなければ何の役にも立たないではないか。
    M_exec(個人用実行メニュー)に割り当てるか、あるいは、手間をおしまずポチエスにパスを投げてしまうのがいちばん簡単で手っ取り早いということ。
    とういうわけで独自メニューはエディタ用だけにとどめておくのが無難だろうということで決着。

    0 件のコメント: