我正在试图弄清楚如何在运行10.6.8的Mac上响应ruby中的咆哮通知。
这是我用guard编写的基本代码。
require 'growl'
require "pathname"
guard 'shell' do
watch(/(.*)/) do |m|
puts "----------"
path = Pathname.new(m[0])
puts "Pathname = #{path}"
notification = Growl.new
notification.appIcon = "Finder"
if path.exist?
notification.message = "File updated: #{path}"
else
notification.message = "File deleted: #{path}"
end
notification.run
end
end
我想这样做,以便当用户点击growl通知时,它会触发ruby回调(比如在文件名后加一个时间戳)。
我在growl site上找到的所有教程都是针对直接Cocoa编程的。如果我无法弄清楚如何在Ruby中做到这一点,我想我会卷起袖子去做,但看起来在Ruby中应该很容易。
我最终还是希望它能在Linux和Windows上运行,这就是为什么我一直在回避用Objective-C或AppleScript编写它。
除了普通红宝石而不是macruby之外,我想做类似http://lostechies.com/derickbailey/2011/01/23/responding-to-growl-notification-clicks-and-timeouts-with-macruby/的事情。