From: Satoshi Nakagawa Date: 2008-08-20T19:05:44+09:00 Subject: [ruby-list:45363] [ANN]Growl Notifier 1.0.1 中川といいます。 Growl Notifier 1.0.1 をリリースしました。 http://rubyforge.org/projects/growlnotifier/ http://growlnotifier.rubyforge.org/ Growl Notifier は、Growl に notification を送るためのライブラリです。 Growl への notification がクリックされたときやタイムアウトしたときに、そのイベントを受け取れるのが特徴です。 コードベースは、LimeChat for OSX の Growl 関連のコードを切り出したものです。 それに、Eloy Duran が WebApp で、クリックイベントをブロックで受け取れるようにした改善を加えました。 LimeChat for OSX: http://github.com/psychs/limechat/tree/master WebApp: http://github.com/alloy/webapp-app/tree/master == インストール方法 gem install growlnotifier == 環境 * Mac OS X 10.4 or 10.5 * Ruby 1.8 * RubyCocoa 0.13.1 == サンプル require 'rubygems' require 'growl' class GrowlController < OSX::NSObject HELLO_TYPE = 'Hello message received' def init if super_init @g = Growl::Notifier.sharedInstance @g.delegate = self @g.register('GrowlSample', [HELLO_TYPE]) @g.notify(HELLO_TYPE, 'Sticky', 'Hello world', :sticky => true, :click_context => Time.now.to_s ) @g.notify(HELLO_TYPE, 'Timed out', 'Hello world', :click_context => Time.now.to_s ) @count = 2 self end end def growlNotifierClicked_context(sender, context) puts "Clicked: #{context}" checkCount end def growlNotifierTimedOut_context(sender, context) puts "Timed out: #{context}" checkCount end def checkCount @count -= 1 OSX::NSApp.terminate(nil) if @count == 0 end end g = GrowlController.alloc.init OSX::NSApp.run -- Satoshi Nakagawa