响应点击红宝石中的咆哮通知
Posted
技术标签:
【中文标题】响应点击红宝石中的咆哮通知【英文标题】:Responding to a click on a growl notification in ruby 【发布时间】:2012-05-09 17:59:53 【问题描述】:我试图弄清楚如何在运行 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
我想这样当用户点击咆哮通知时,它会触发一个 ruby 回调(比如在文件名上附加一个时间戳)。
我在growl site 上找到的所有教程都是针对直接 Cocoa 编程的。如果我不知道如何在 Ruby 中做到这一点,我想我会卷起袖子去做,但在 Ruby 中似乎应该很容易做到。
我最终希望它也能在 Linux 和 Windows 上运行,这就是为什么我一直避免只用 Objective-C 或 AppleScript 编写它。
我想做类似http://lostechies.com/derickbailey/2011/01/23/responding-to-growl-notification-clicks-and-timeouts-with-macruby/ 的事情,除了用普通的 ruby 代替 macruby。
【问题讨论】:
【参考方案1】:我认为growl
gem 无法做到这一点。 Growl website 链接到另一个名为 groem 的 gem,您可能想查看它。好像完全支持callbacks。
【讨论】:
谢谢。我会试试groem
。以上是关于响应点击红宝石中的咆哮通知的主要内容,如果未能解决你的问题,请参考以下文章