È possibile eseguire uno script di shell quando lo stato in linea di iChat cambia su Lion?

1

Avevo uno script con Snow Leopard che caricava un piccolo file sul mio server quando ho lanciato iChat per riflettere il mio stato sul mio sito web. Per qualche motivo non funziona più su Lion.

C'è un modo per attivare uno script di shell sul cambio di stato online / offline in 10.7 senza nemmeno avviare iChat?

    
posta Manuite 03.11.2011 - 00:43
fonte

1 risposta

1

Opzione 1: esegui uno script come questo ogni minuto circa con cron o launchd:

#!/bin/bash

cd=~/Library/Caches/me.lri.scripts
mkdir -p $cd
cf=$cd/ichatstatuscheck
status=$(osascript -e "tell app \"iChat\" to status")
[[ -f $cf && "$status" != $(cat $cf) ]] && say "$status"
echo "$status" > $cf

(Lo script attiva iChat ogni volta che viene eseguito.)

Opzione 2: salva questa come applicazione aperta in AppleScript Editor:

repeat
    tell application "iChat"
        set prev to status
        delay 5
        if status is not prev then do shell script "say " & quoted form of status
    end tell
end repeat

(Attiva anche iChat ogni volta che ottiene lo stato.)

Opzione 3: usa un gestore di eventi iChat (grazie Kopischke)

Questo ha funzionato per me su Lion, ma solo quando iChat era attivo. (Non quando non lo era e ho cambiato lo stato dall'elemento della barra di stato di iChat - che immagino fosse il vero problema che l'OP aveva.)

    
risposta data 03.11.2011 - 08:13
fonte

Leggi altre domande sui tag