Growlを使ってMac OS Xの様々なイベントを通知する

Gmailを使ってると、Gmailにメールが到着した際に、メッセージをポップアップしてお知らせしてくれる。これと似たようなことを、いろんなイベントに対してやってみたかったので、Growlを使ってみた。

Growlのインストールと動作試験

まずはhttp://growl.info/files/Growl-0.7.6.dmg:Growl 0.7.6のdmgファイルをダウンロードして展開する。
展開したフォルダの中にあるGrowl.prefPaneをダブルクリックすればインストールは完了。すげー簡単だね。
http://farm1.static.flickr.com/193/446141466_e11cd71305.jpg
設定は「システム環境設定」から実施する。とりあえずはデフォルトのままでOK。これでイベント通知を受ける準備が整った。
http://farm1.static.flickr.com/178/446141470_d2ea9bc027.jpg
Growl対応アプリケーションは、起動時にGrowlに対して自分を登録しにいく。登録結果がGrowlで通知されるので、とりあえず試験もかねて対応アプリケーションを起動してみる。今回はIRCクライアントConversationを使った。
http://farm1.static.flickr.com/177/446141484_e64a544745.jpg
とまぁこんな風にアプリケーションの登録が通知される。

GrowlとHardwareGrowlerを使ってハードウェアに関するイベントを通知する

イベント通知環境が整ったところで、さっそく通知するイベントを物色(やや本末転倒)
とりあえず、ハードウェアに関するイベントを通知してみる。USBやらBluetoothやら、着脱可能なデバイスのイベントが通知できると、Windowsの「このデバイスは安全に〜」ってのが真似できておもしろそうだし。
Growlに同梱されているHardwareGrowlerを使えば、ハードウェアに関するイベントをGrowlに渡して通知することが可能。HardwareGrowlerはExtrasの中に含まれているので、Applicationフォルダにコピーしておもむろに実行する。
http://farm1.static.flickr.com/153/446141488_8e74181363.jpg
あとは普段通り使ってると、いろいろなイベントが通知されてくる。PlantronicsのヘッドセットをBluetoothで接続したときの通知はこんな感じ。
http://farm1.static.flickr.com/203/446162016_ccc3050acf.jpg
Growlの設定で、HardwareGrowlerを選択すると、どんな種類のイベントをGrowlで通知するか設定できる。
http://farm1.static.flickr.com/183/446162034_705ae7c0f3.jpg

DockからHardwareGrowlerのアイコンを隠す

HardwareGrowlerを使って、めでたくハードウェアのイベントを通知することができるようになったわけだけど、DockにHardwareGrowlerのアイコンが鎮座しているのが気に入らない人もいるかも。そんな人は、Info.plistをさわってDockからアイコンを消しちゃおう。
まずはHardwareGrowler.app/Contents/Info.plistをエディタで開いて、LSUIElement = 1(String)をkeyに追加する。エディタはお好みで選択。Property List Editorを使うのも一興。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
<途中省略>
	<key>LSUIElement</key>
	<string>1</string>
</dict>
</plist>

書き換えたら、HardwareGrowlerを再起動する。Dockからアイコンが消えていれば成功。
うまくいかないときは、HardwareGrowler.appをtouchするか、HardwareGrowlerを別の場所に移動してから、元の場所に書き戻せばうまくいくかも。Info.plistがキャッシュされてるっぽい。
あとは再起動したときにもHardwareGrowlerが起動されるように、システム環境設定>アカウント>ログイン項目、でHardwareGrowlerを追加しとくとよさげ。