使用停止中のGrowlMailを有効にする方法
もはや、GrowlはOSXの標準にして貰いたいくらい馴染んだイベント通知システムで、様々な場面で的確にイベント情報を表示して、ユーザーに安心を与えてくれる。メールを受信した時に、そのタイトルなどを表示してくれるGrowlMailも実に有り難い。
しかし、このGrowlMail、OSのアップデートの度に機能しなくなる。自分のMacBookでは、ここ最近はずっと使えない状態が続いていた。特に画面の狭いMacBookでは、Dockも非表示にしておくので、メールの受信に気付き難い環境だ。不便を感じる。困った...。
調べてみると、正常時は~/Library/Mail/Bundles/GrowlMail.mailbundle/にインストールされてMail.appを機能拡張してくれるのだが、OSのアップデートなどでMail.appのバージョンが少しでも変更されると~/Library/Mail/Bundles(使用停止中の)/GrowlMail.mailbundle/に移動されてしまい、利用できなくなるのだ。そこで、Webで検索してみると、同じ現象に悩む人はやはり多いらしく、そのものズバリな解決策が見つかった!(素晴らしい情報に感謝です!)
手順
- ~/Library/Mail/Bundles(使用停止中の)/GrowlMail.mailbundle/Contents/Info.plistを開く。
- Xcodeが利用できる環境であれば、Property List Editorで開くのがベストだが、テキストエディットで開いてもOK。
SupportedPluginCompatibilityUUIDs を探す。(一番下の方)の中身を書き換える.。(2行、あるいは4行の追記になると思う) - 以下、修正後のInfo.plistをテキストエディットで開いた状態。
- 「...(中略)...」は無視する。
...(中略)... <key>SupportedPluginCompatibilityUUIDs</key> <array> <string>B3F3FC72-315D-4323-BE85-7AB76090224D</string> <string>225E0A48-2CDB-44A6-8D99-A9BB8AF6BA04</string> <string>99BB3782-6C16-4C6F-B910-25ED1C1CB38B</string> <string>2610F061-32C6-4C6B-B90A-7A3102F9B9C8</string> <string>2F0CF6F9-35BA-4812-9CB2-155C0FDB9B0F</string> <string>0CB5F2A0-A173-4809-86E3-9317261F1745</string> </array> </dict> </plist>
- 上記を保存したら、~/Library/Mail/Bundles(使用停止中の)/GrowlMail.mailbundle/を、~/Library/Mail/Bundles/GrowlMail.mailbundle/に移動する。
- Mail.appを再起動する。
- 環境設定...を開いて、GrowlMailの項目が復活していれば、おそらく成功。
SupportedPluginCompatibilityUUIDsとは何か?
- Mail.appは、~/Library/Mail/Bundles/以下にxxxxxx.mailbundleを置くことで、機能を追加できる。
- 但し、Mail.appのバージョンアップ等によって、xxxxxx.mailbundleが悪さをしてMail.appが起動しない等の問題が起こるのを避けるために、ある仕組みが用意されている。それは...
- /Applications/Mail.app/Contents/Info.plistには、PluginCompatibilityUUIDという世界にたった一つしかないID番号が書き込まれている。
- 一方、Mail.appの機能を拡張するxxxxxx.mailbundleも、SupportedPluginCompatibilityUUIDsというID番号の配列を持っている。
- Mail.appは、自分自身のPluginCompatibilityUUIDが、xxxxxx.mailbundleのSupportedPluginCompatibilityUUIDsに含まれている時だけ、xxxxxx.mailbundleを取り込んで機能を追加するようだ。
- /Applications/Mail.app/Contents/Info.plistを開いて、PluginCompatibilityUUIDを確認してみると...
...(中略)... <key>PluginCompatibilityUUID</key> <string>2F0CF6F9-35BA-4812-9CB2-155C0FDB9B0F</string> ...(中略)...
- GrowlMailのSupportedPluginCompatibilityUUIDsに追記したのと同じIDが確認できた。
SupportedPluginCompatibilityUUIDsを素早く調べる
- 今後もバージョンアップの度にGrowlMailが使用停止になる可能性があるのだが、
- でも、大丈夫。Mail.appのPluginCompatibilityUUIDを調べて追記すれば良いのだ...と、思ったのも束の間、
- あれあれ、その下の0CB5F2A0-A173-4809-86E3-9317261F1745というIDはどこから来たのだろう?と悩んでしまった。
- よくよく調べてみると、/System/Library/Frameworks/Message.framework/Versions/B/Resources/Info.plistのPluginCompatibilityUUIDであった。
$ defaults read /System/Library/Frameworks/Message.framework/Versions/B/Resources/Info PluginCompatibilityUUID
0CB5F2A0-A173-4809-86E3-9317261F1745
-
-
- 参考ページ(素晴らしい情報に感謝です!)
- 10.6.1 update and Mail Clipping - The Omni Group Forums
-
コマンドにまとめる
もし、GrowlMailが使用停止になったら...
- ~/Library/Mail/Bundles(使用停止中の)/GrowlMail.mailbundle/を、~/Library/Mail/Bundles/GrowlMail.mailbundle/へ移動する。
- 以下のコマンドを実行する。
$ defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add `defaults read /Applications/Mail.app/Contents/Info PluginCompatibilityUUID` $ defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add `defaults read /System/Library/Frameworks/Message.framework/Versions/B/Resources/Info PluginCompatibilityUUID`
- Mail.appを再起動する。
以上の手順を試してみる価値がある。
- 但し、バージョン対応を考えずに読み込ませることになるので、何らかの不具合が発生する可能性もある。
- バックアップしてから挑むことにしよう。
GrowlMailの最新バージョンをダウンロードする
- この日記を書いている時点で、すでに以下のページからGrowlMail 1.2.1b1がダウンロード可能だった。
- まずは上記ページをチェックして、最新バージョンがアップされていないか確認、ですね。