2012-05-09 83 views
0

我試圖弄清楚如何在運行10.6.8的Mac上響應ruby中的咆哮通知。響應點擊咆哮中的咆哮通知

這裏是我用衛兵寫的基本代碼。

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 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。

回答

0

我不認爲growl寶石是能夠做到這一點。 Growl website鏈接到另一個名爲groem的寶石,您可能想要查看。它似乎完全支持callbacks

+0

謝謝。我會試一試'groem'。 – Cyrus