Option 1 : exécuter un script comme celui-ci toutes les minutes ou presque avec cron ou 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
(Le script active iChat à chaque fois qu'il est exécuté).
Option 2 : enregistrez cette application comme une application restant ouverte dans l'éditeur 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
(Active également iChat chaque fois qu'il obtient le statut).
Option 3 : utiliser un gestionnaire d'événement iChat (merci Kopischke)
Cela a fonctionné pour moi sur Lion, mais uniquement lorsque iChat était actif. (Pas lorsqu'il ne l'était pas et que je changeais le statut à partir de l'élément de la barre d'état d'iChat - ce qui, je suppose, était le véritable problème rencontré par le PO).