Quickloox

Dal mondo Apple all'universo digitale, in visualizzazione rapida dell'ovvio

20 feb 2009

Firme di valore in AppleScript

Ho sempre avuto un debole per le signature in posta elettronica (le firme al termine di un messaggio) e spesso mi piacciono casuali, cioè scelte dal programma tra un archivio a sua disposizione.

Il mio programma di posta preferito da oltre dieci anni, Mailsmith di Bare Bones, gestisce facilmente le signature casuali. Ma il problema è che ne gestisce un insieme solo e vorrei di più. La ragione è che certi contesti vogliono certe signature e altre no. Quando scrivo a indirizzi americani, per esempio, preferisco che le signature siano in inglese, mentre sulle mailing list italiane prediligo cose in italiano. Ma certe signature a sfondo politico, per esempio, sono accettabili solo in certi ambiti mentre in altri sono fuori luogo e via discorrendo. Insomma, voglio più insiemi di signature casuali, per scegliere quello appropriato di volta in volta.

Mailsmith non lo fa… ma è perfettamente scriptabile. E realizzare script-archivio contenenti le signature appartenenti a un certo insieme è piuttosto semplice.

Mi sono messo alla tastiera e, come l’aspirante musicista che si cimenta in Fra Martino campanaro, ho composto il mio sgrammaticato capolavoro:

set sigdash to “– “ set quotes to {“prima signature”, “seconda signature”, “terza signature”, “quarta signature”, “eccetera”} set chosen to (some item of quotes) set signature to sigdash & chosen return signature

Il sigdash è la codifica canonica delle signature usata originalmente nei newsgroup e che sarebbe bene tenere anche nella posta elettronica. È formato da trattino/trattino/spazio (sì, c’è uno spazio bianco dopo i due trattini). Siccome voglio che il testo della signature inizi nella riga sotto il sigdash, nella definizione di quest’ultimo sono andato a capo, come testimoniano le virgolette.

La seconda istruzione definisce una lista di signature. Se le signature sono impaginate, ossia vanno su più righe, contengono a capi e così via, meglio prima comporle ordinatamente in un editor di testo come TextWrangler e poi incollarle dentro lo script. AppleScript non si preoccupa se vanno su più righe.

La terza istruzione sceglie a caso uno degli elementi della lista, cioè una delle signature. some item è sintassi bellissima di AppleScript per dire prendi a caso.

La quarta istruzione riunisce in una sola variabile il sigdash e la signature scelta.

L’ultima istruzione non fa che inviare la signature dal motore interno di AppleScript all’esterno, verso il programma che la userà.

Il più è fatto. Posso creare più script con la stessa struttura e insiemi diversi di signature e poi scegliere di messaggio in messaggio l’insieme da cui pescare.

Non so come il tuo programma di posta potrebbe accettare l’idea di fare partire uno script al momento di generare la signature. Mailsmith è persino banale: si inserisce nel suo sistema di signature un comando come

#system osascript ~/Library/Scripts/EducatedUptime.scpt#

che lancia semplicemente lo script situato sul percorso indicato. Per ogni script si fornisce a Mailsmith una di queste finte signature, che in realtà eseguono lo script desiderato. Per Mail o per Entourage non saprei che dire se non rimandare a Google o a qualcuno che legge e ha voglia di contribuire alla conoscenza collettiva.

Commenta