jump to navigation

An AppleScript script for Growl and Mail 3 febbraio 2008

Posted by fripp in AppleScript, Informatica, Mac OS X, Scripting, Sistemi Operativi.
Tags: , , , , ,
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.

Annunci

Commenti»

1. rvinside - 1 febbraio 2008

ottimo…complimenti per lo script, ora lo provo subito! 😀

2. Alessandro C. - 14 febbraio 2008

Appena provato… FUNZIONA!!

Grazie mille!

3. Alessandro C. - 15 febbraio 2008

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 🙂

4. fripp - 15 febbraio 2008

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

5. Alessandro C. - 15 febbraio 2008

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 😉

6. fripp - 15 febbraio 2008

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

7. Alessandro C. - 15 febbraio 2008

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 😦

8. fripp - 15 febbraio 2008

Secondo me, il sistema sarà stabile solo verso la 10.5.4

9. Alessandro C. - 15 febbraio 2008

Boh, spero anche prima… A volte sono proprio tentato di rimettere Tiger 😦


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: