¿Es posible ejecutar un script de shell cuando el estado en línea de iChat cambia en Lion?

1

Tenía un script en Snow Leopard que cargaría un pequeño archivo en mi servidor cuando inicié iChat para reflejar mi estado en mi sitio web. Por alguna razón, ya no funciona en Lion.

¿Hay alguna manera de activar un script de shell en el cambio de estado en línea / fuera de línea en 10.7 sin siquiera lanzar iChat?

    
pregunta Manuite 03.11.2011 - 00:43

1 respuesta

1

Opción 1: ejecute un script como este a cada minuto 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

(El script activa iChat cada vez que se ejecuta.)

Opción 2: guarde esto como una aplicación abierta en 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

(También activa iChat cada vez que obtiene el estado).

Opción 3: usar un controlador de eventos iChat (gracias Kopischke)

Esto me funcionó en Lion, pero solo cuando iChat estaba activo. (No cuando no lo era y cambié el estado del elemento de la barra de estado de iChat, que supongo que era el problema real que tenía el OP).

    
respondido por el user495470 03.11.2011 - 08:13

Lea otras preguntas en las etiquetas