1 votos

¿Es posible ejecutar un shell script cuando el estado de conexión de iChat cambia en Lion?

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

¿Existe una manera de activar un shell script en el cambio de estado online/offline en 10.7 sin ni siquiera lanzar iChat?

1voto

Opción 1: ejecutar un script como este cada minuto más o menos 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 scriptactiva iChat cada vez que se ejecuta).


Opción 2: guardar esto como una aplicación abierta en el Editor de AppleScript:

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 recibe el estado).


Opción 3: utilizar un manejador de eventos de iChat (gracias Kopischke)

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X