Growl の続き

GrowlRuby で使う。」

標準の Ruby ぢゃなくって、独自にインストールした Ruby 環境下で RubyCocoa を使うためには、/usr/lib/ruby/site_ruby/1.8 の下にある osx, powerpc-darwin8.0/rubycocoa.bundle を、/usr/local/lib/ruby/site_ruby/1.8 の下にコピーすればいいだけだった。ただ、それだけでは "http://growl.info/documentation/developer/ruby-support.php" にあるサンプルは、残念ながら動かない。"GrowlNotifier" クラスが見えないんだけど、どうすればいいのか分からない…。で、違う方法を考えた。

コマンドラインから使える growlnotify が Growl に同梱されている。まずは、そちらをインストールする。ディスクイメージ中の Extras にあるので、簡単にインストールできる。growlnotify をインストールすると、こんなことができるようになる。

--- timer10.sh
#!/bin/sh

sleep 10
growlnotify -t "タイマー" -m "10 秒経過しました。"
---

詳しくは "Growl - Downloads" をどうぞ。

で、Ruby から growlnotify を実行すれば目的が達成できる。

--- rubygrowl.rb
#!/usr/bin/env ruby

def growl(title, message)
  %x!growlnotify -t #{title} -m #{message}!
end

growl("見出し", "メッセージ")
---

RubyCocoa を使うサンプルより、こっちの方法の方がシンプルなので、かえって良かったかもしれない。まあ、Mac でしか使えないんだけど、Ruby を使って綺麗なメッセージを表示できるのは、ちょっと幸せな気分だ。