Vous pourriez exécuter un script toutes les minutes pour mettre à jour le statut et le rendre disponible.
Pour ce faire, enregistrez l'AppleScript suivant, que j'ai appelé messages-available.scpt
mais vous pouvez les renommer si vous le souhaitez.
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
Donner des autorisations : chmod 775 messages-available.scpt
.
Le script permet de cliquer sur l'élément de menu Disponible dans Messages.
Aller au dossier /Users/your-username/Library/LaunchAgents
et y enregistrer le fichier plist suivant. Je l'ai nommé com.username.messages-available.plist
mais là encore, n'hésitez pas à la modifier.
<?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>
Le fichier est assez explicite. Nous allons lancer la commande /usr/bin/osascript /Users/your-username/bin/messages-available.scpt
toutes les 60 secondes, sera lancé au chargement, sauvegardera les erreurs sur les /tmp/com.username.messages-available.err
et se connecte /tmp/com.username.messages-available.out
.
Remplacer your-username
de manière appropriée.
Dernière étape, indiquer au démon launchd de Mac de le charger.
launchctl load com.your-username.messages-available.plist
Pour arrêter le script, il suffit de remplacer le mot load
avec unload
dans la phrase ci-dessus. Lorsque vous redémarrez votre ordinateur, le script sera à nouveau chargé. Pour éviter cela, déplacez-le dans un autre dossier.