コンテキストメニューをカスタマイズしたい・その2

先日書いたやつはてブにBMしてる人がいたので久しぶりにentry頁を見に行ってみたら、コメントに menu.ini がどうしたこうしたという記述があった。はて、そんなファイルあったっけかと思い、自分のプロファイルディレクトリと c:\Program Files\Opera\ とを探してみるも見当たらず。

ただ、 c:\Program Files\Opera\defaults\standard_menu.ini というのがあった。その中に以下のような記述がある:

[Hotclick Popup Menu]
Item, 50872			= Copy
Item, 67652			= Copy to note
Platform Win2000-Unix-Mac, Feature Voice, Item, 70494 = Speak selection
--------------------1
Item, 65184				= Hotclick search, 200 
;Submenu, 291920, Search with menu
Submenu, 291920, Internal Search With
Item, 65187			= Hotclick search, 50
Item, 65188			= Hotclick search, 51
--------------------2
Submenu, 291960, Translate menu
;Item, 65186		= Hotclick search, 52 
--------------------3
Item, 67394				= Go to page, "%t"
Item, 65218			= Send text in mail

なるほどモロに例のコンテキストメニューの内容そのまんまである。これの3行目、 Speak selection の行をコメントアウトしてからOperaを立ち上げてみると、めでたく例の "Speak" が消えてくれましたよ。この standard_menu.ini の何処に何のメニューが記述されているかは検索でも掛ければ簡単に分かる*1。これで一応最低ラインはクリアできたよ!ありがとうありがとう!!

ただ、わざわざサブディレクトdefaults に入れてあるものを書き換えてしまわなくても、本当はきっと c:\Program Files\Opera\ なり自分のプロファイルディレクトリなりに なんとか.ini を作ってやればオーバーライドできるんだと思うよ!あれこれ試したけど当たらなかったから、少し真面目にググってみようかな…!


上述の c:\Program Files\Opera\defaults\ には他に embedded_menu.ini というのもある*2。書式はさっきの standard_menu.ini と殆どそっくり*3だが内容はかなり違う。冒頭に

; Menu specification file for EmBedded Opera 7

とか書いてあったが、何せこちとらまだ "EmBedded Opera" って何JARO状態なので後回しにする。


ところでどちらのファイルにも Item, とか Submenu, とかの後ろに数字が書いてあるけれどもコレは何でせう。DLL呼ぶとき使うリソースのハンドルか何かかなぁ。やだなぁ。勝手にメニューアイテム増やしたりするのは無理かなぁ。これもGoogle先生に訊いてみることにするよ!

*1:上に引用したくだりを見つけるときは "Speak" で検索した。

*2:はまちちゃん文体はテンション高すぎて1段落しか体がもたなかった。

*3:違う点といえば改行コードがLFのみである点くらいか。