Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-06-30

Operaの右クリックメニューを編集

| Operaの右クリックメニューを編集 - そっとなでしこ を含むブックマーク はてなブックマーク - Operaの右クリックメニューを編集 - そっとなでしこ

 Operaの右クリックメニューに項目を追加するカスタマイズを施す場合は、iniファイルを手動で編集します。この編集作業をスクリプト化し、少しでも楽をしたいと思います。

■Operaのmenu.iniに書き込む

 右クリックメニューの設定INIファイルについては、次のリンク先記事にまとめられている通り。

 例えば、Operaのインストール先が

C:\Program Files\【インストールフォルダ】\

の場合、[設定]メニュー>[詳細設定]>[ツールバー]>[メニュー]から編集・複製して右クリックメニューの設定INIファイルが自動設定されるのは、以下の場所です(windows2000の例)。

C:\Documents and Settings\【ユーザー名】\Application Data\Opera\【インストールフォルダ】\menu\standard_menu (1).ini

 このINIファイルの「Document Popup Menu」セクションに、次のような3項目を追加する作業を、スクリプト化してみようと思います。

[Document Popup Menu]
Item, "Sleipnirで開く" = Execute program, "C:\tools\Sleipnir\bin\Sleipnir.exe","%u"
Item, "Firefoxで開く" = Execute program, "C:\Program Files\Mozilla Firefox\firefox.exe","%u"
Item, "Chromeで開く" = Execute program, "C:\tools\ChromePlus1.3.2.0\chrome.exe","%u"

そこで、以下のようなスクリプトを書いてみました。

インストールフォルダ=「Opera_1060_3444」。
ハンドルは「{アプリ設定フォルダ}Opera\{インストールフォルダ}\menu\standard_menu (1).ini」のINI開く。
ハンドルで「Document Popup Menu」の「Item, "Sleipnirで開く"」に「Execute program, "C:\tools\Sleipnir\bin\Sleipnir.exe","%u"」をINI書く
ハンドルで「Document Popup Menu」の「Item, "Firefoxで開く"」に「Execute program, "C:\Program Files\Mozilla Firefox\firefox.exe","%u"」をINI書く
ハンドルで「Document Popup Menu」の「Item, "Chromeで開く"」に「Execute program, "C:\tools\ChromePlus1.3.2.0\chrome.exe","%u"」をINI書く
ハンドルのINI閉じる
「編集終了」と言う。
母艦を閉じる。

■右クリックメニューを表示してみると文字化けが!

 上記のソースコードで確かにINIファイルに3項目が追加されました。

 ところが、Operaを起動して右クリックメニューを表示してみると、追加した項目の「~で開く」というマルチバイトな日本語の部分が文字化けしてしまいました…orz

 どうやら、Operaの設定ファイルの文字コードはUTF8と決められていたようなのです。ということで、追加する項目をUTF8に文字コード変換してから、INIファイルを書き込むように、次のようなソースコードに変更しました。また、編集した右クリックメニューの設定INIファイルが見分けがつくように、設定名称を「俺メニュー」にするINI書き込み処理も追加しました。

インストールフォルダは「Opera_1060_3444」。
Menuファイル名は「standard_menu (1).ini」
ハンドルは「{アプリ設定フォルダ}Opera\{インストールフォルダ}\menu\{Menuファイル名}」のINI開く
「Item, "Sleipnirで開く"」をUTF8変換
ハンドルで「Document Popup Menu」の「{それ}」に「Execute program, "C:\tools\Sleipnir\bin\Sleipnir.exe","%u"」をINI書く
「Item, "Firefoxで開く"」をUTF8変換
ハンドルで「Document Popup Menu」の「{それ}」に「Execute program, "C:\Program Files\Mozilla Firefox\firefox.exe","%u"」をINI書く
「Item, "Chromeで開く"」をUTF8変換
ハンドルで「Document Popup Menu」の「{それ}」に「Execute program, "C:\tools\ChromePlus1.3.2.0\chrome.exe","%u"」をINI書く
「俺メニュー」をUTF8変換。
ハンドルで「Info」の「NAME」に「{それ}」をINI書く。
ハンドルのINI閉じる。
「編集終了」と言う。
母艦を閉じる。

当然のことながら、このスクリプトは、対象となるOperaを終了してから実行します。


【参考記事】