An AppleScript script for Growl and Mail 3 Febbraio 2008
Posted by fripp in AppleScript, Informatica, Mac OS X, Scripting, Sistemi Operativi.Tags: apple, AppleScript, leopard, Mac OS X, Mail.app, Tiger
trackback
Un’interessante applicazione per Mac OS X è Growl, un sistema globale di notifiche che funziona allo stesso modo dei plugin sviluppati con la libnotify.
Per la versione di Mail (il client di posta di Mac OS X) presente in Tiger esisteve un plugin, chiamato GrowlMail, che permette di notificare con un popup l’arrivo di una nuova mail all’utente. Ho scoperto di recente che GrowlMail su Leopard non funziona.
In attesa che il team di sviluppo di Growl rilasci una versione compatibile con Leopard, ho trovato il modo di aggirare l’ostacolo sfruttando il supporto per Growl di AppleScript.
AppleScript è un linguaggio di scripting “malefico” sviluppato da Apple per la gestione del suo sistema operativo.
Ho studicchiato il minimo indispensabile per capire questo linguaggio e ho messo su uno script che cerca di emulare il comportamento di GrowlMail.
Il codice dello script è il seguente:
tell application "GrowlHelperApp"
set the allNotificationsList to {"Mail", "Junk Mail"}
set the enabledNotificationsList to {"Mail", "Junk Mail"}
register as application "Growl Mail Rule" all notifications allNotificationsList ¬
default notifications enabledNotificationsList ¬
icon of application "Mail.app"
end tell
using terms from application "Mail"
on perform mail action with messages _messages
repeat with _message in _messages
set _sender to sender of _message
set _subject to subject of _message
set _summary to paragraphs 1 thru 4 of (content of _message)
set tid to AppleScript's text item delimiters
set AppleScript's text item delimiters to return
set _summary to _summary as text
set AppleScript's text item delimiters to tid
if junk mail status of _message is true then
set type to "Junk Mail"
else
set type to "Mail"
end if
tell application "GrowlHelperApp" to notify with name type ¬
title type description ¬
"From: " & _sender & return & "Subject: " & _subject ¬
& return & return & _summary ¬
application name "Growl Mail Rule"
end repeat
end perform mail action with messages
end using terms from
Dopo aver creato un file con lo Script Editor contenente il codice precedente, basta cliccare una volta su esegui per registrare lo script con il demone di Growl.Successivamente occorre creare una regola del filtro di Mail che esegua lo script ogni volta che arriva una email.
Cliccate qui per scaricare il sorgente.













ottimo…complimenti per lo script, ora lo provo subito!
Appena provato… FUNZIONA!!
Grazie mille!
Un’altra cosa… come potrei modificare il codice in modo che Mail mi segnali con Growl anche l’arrivo di nuovi articoli negli RSS? Grazie
Ho dato uno sguardo sommario al dizionario per AppleScript di Mail.app, e da una prima analisi mi sembra che Mail.app non fornisca un supporto AppleScript per notificare l’arrivo di nuovi feed rss. Devo verificare con maggiore attenzione
Ecco, l’avevo notato anch’io
Ora mi chiedo.. ma che razza di rss reader è mail? Non permette di passare al prossimo articolo non letto (se si può per favore ditemelo che io non sono riuscito a trovare alcuna combinazione di tasti che lo fa _-_ ) e non segnala (neanche sul dock) nuovi articoli
Se non fosse che NetNewsWire fa inchiodare Leopard 10.5.2 una volta si e la successiva pure userei quello…
Intanto grazie
Mail è un client di posta che nel tempo libero prova a fare l’RSS reader. Ancora non ho installato NetNewsWire su Leopard (su Tiger l’avevo provato) e sinceramente finora non ho avuto alcun problema col nuovo SO, nemmeno con la 10.5.2. Però questo dimostra come la Apple stia conducendo l’”operazione Leopard” veramente con i piedi. Leggo sulla rete che un sacco di utenti sparsi per il mondo stanno avendo problemi di instabilità. La colpa di tali problemi è da additare ad iPhone, il cui rilascio ha distolto gli sviluppatori dal lavoro su Leopard. Intanto io uso la Debian, che va che è una bomba!:D
Anch’io uso Debian (sul fisso) ^^
Per la questione 10.5.2… Pensavo sistemasse un po’ di problemi, non che ne causasse di nuovi
Vabbè, aspetto la 10.5.3
Secondo me, il sistema sarà stabile solo verso la 10.5.4
Boh, spero anche prima… A volte sono proprio tentato di rimettere Tiger