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).