Puede ejecutar un script cada minuto para actualizar el estado a disponible.
Para hacer esto, guarda el siguiente AppleScript, llamé messages-available.scpt
, pero puedes cambiarle el nombre si lo deseas.
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
.
La secuencia de comandos hace clic en el elemento del menú Disponible en Mensajes.
Vaya a la carpeta /Users/your-username/Library/LaunchAgents
y guarde allí el siguiente archivo plist. Lo nombré com.username.messages-available.plist
, pero nuevamente, 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 es bastante autoexplicativo. Lanzaremos el comando /usr/bin/osascript /Users/your-username/bin/messages-available.scpt
cada 60 segundos, se iniciará en la carga, guardará los errores en /tmp/com.username.messages-available.err
y los registros en /tmp/com.username.messages-available.out
.
Reemplace your-username
apropiadamente.
Último paso, dile al demonio de launchd de Mac que lo cargue.
launchctl load com.your-username.messages-available.plist
Para detener la secuencia de comandos, simplemente reemplace la palabra load
con unload
en la oración anterior. Cuando reinicies tu computadora, el script se cargará nuevamente. Para evitarlo, muévelo a otra carpeta.