响应点击红宝石中的咆哮通知

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

以上是关于响应点击红宝石中的咆哮通知的主要内容,如果未能解决你的问题,请参考以下文章

咆哮式通知时间问题

咆哮通知的内联样式

如何使用 PHP 创建 AJAX 通知来通知好友请求

红宝石通知的例子?

android通知栏Notification点击,取消,清除响应事件

什么是咆哮者和模态?