2012-05-09 2 views
0

Я пытаюсь понять, как реагировать на уведомление о рывке в рубине на моем Mac, работающем под управлением 10.6.8.Ответ на щелчок на уведомлении о рыке в рубине

Вот базовый код, который я написал, используя охрану.

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, предназначены для прямого программирования какао. Если я не смогу понять, как это сделать в Ruby, я думаю, что я засучу рукава и сделаю это, но похоже, что это должно быть легко сделать в Ruby.

В конечном итоге мне захочется, чтобы это работало и на Linux, и на Windows, и именно поэтому я избегаю просто писать это в Objective-C или AppleScript.

Я хочу сделать что-то вроде этого http://lostechies.com/derickbailey/2011/01/23/responding-to-growl-notification-clicks-and-timeouts-with-macruby/ за исключением простого рубина вместо macruby.

ответ

0

Я не думаю, что камень growl способен на это. Growl website ссылки на другой драгоценный камень под названием groem, который вы можете проверить. Кажется, что он полностью поддерживает callbacks.

+0

Спасибо. Я попробую «groem». – Cyrus

Смежные вопросы