Podrías ejecutar un script cada minuto para actualizar el estado a disponible.
Para ello, guarde el siguiente AppleScript, que llamé messages-available.scpt
pero puedes cambiar el nombre si quieres.
tell application "System Events"
tell process "Messages"
tell menu bar 1
tell menu bar item "Messages"
tell menu "Messages"
tell menu item "My Status"
tell menu "My Status"
click menu item "Available"
end if
end tell
end tell
end tell
end tell
end tell
end tell
end tell
Dar permisos: chmod 775 messages-available.scpt
.
El script hace clic en el elemento de menú Disponible en Mensajes.
Ir a la carpeta /Users/your-username/Library/LaunchAgents
y guardar allí el siguiente archivo plist. Lo he llamado com.username.messages-available.plist
pero, de nuevo, siéntase libre de cambiarlo.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.your-username.messages-available</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/osascript</string>
<string>/Users/your-username/bin/messages-available.scpt</string>
</array>
<key>Nice</key>
<integer>1</integer>
<key>StartInterval</key>
<integer>60</integer>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/com.your-username.messages-available.err</string>
<key>StandardOutPath</key>
<string>/tmp/com.your-username.messages-available.out</string>
</dict>
</plist>
El archivo se explica por sí mismo. Lanzaremos el comando /usr/bin/osascript /Users/your-username/bin/messages-available.scpt
cada 60 segundos, se lanzará en la carga, guardará los errores en /tmp/com.username.messages-available.err
y se conecta /tmp/com.username.messages-available.out
.
Sustituir your-username
adecuadamente.
El último paso es decirle al demonio launchd del Mac que lo cargue.
launchctl load com.your-username.messages-available.plist
Para detener el script, basta con sustituir la palabra load
con unload
en la frase anterior. Cuando reinicie su ordenador el scriptse cargará de nuevo. Para evitarlo, muévelo a otra carpeta.