Pour ceux qui souhaitent copier et exécuter un script bash et ajouter un travail cron, voici une solution complète qui est gratuite et à jour (en juin 2018) et ne nécessite aucune programmation (j'ai fait cette partie pour vous), juste un peu l'administration du système:
Enregistrez ceci dans un script bash comme ~/.mouse-battery-check.sh
:
#!/usr/bin/env bash
PATH=/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin
# actual battery level
BATT=`ioreg -c AppleDeviceManagementHIDEventService -r -l | grep -i mouse -A 20 | grep BatteryPercent | cut -d= -f2 | cut -d' ' -f2`
# defaults to warn at 20%; accepts other number as 1st argument (useful for testing)
COMPARE=${1:-20}
if [ -z "$BATT" ]; then
echo 'No mouse found.'
exit 0
fi
if (( BATT < COMPARE )); then
osascript -e "display notification \"Mouse battery is at ${BATT}%.\" with title \"Mouse Battery Low\""
fi
Ouvrez Terminal et rendez le script exécutable:
chmod +x ~/.mouse-battery-check.sh
Vous pouvez maintenant tester que le script envoie une notification sur le bureau en l'exécutant lorsque votre souris BlueTooth est connectée (cela teste la batterie à moins de 101%, il devrait donc toujours envoyer une notification):
~/.mouse-battery-check.sh 101
Pour tester à nouveau avec le paramètre par défaut (20%):
~/.mouse-battery-check.sh
Lorsqu'une souris BlueTooth n'est pas détectée, le script renvoie «Aucune souris trouvée».
Vérification automatique
Maintenant, pour tester périodiquement et vous avertir automatiquement, ajoutez un nouveau travail cron :
env EDITOR=nano crontab -e
Ajoutez une entrée comme pour vérifier toutes les 15 minutes:
*/15 * * * * cd ~ && bash ~/.mouse-battery-check.sh
(Vous pouvez à nouveau transmettre le pourcentage de batterie en tant que paramètre au script ici.)
Appuyez sur Control+X
puis Y
ensuite Enter
pour quitter l'éditeur et enregistrer la tâche cron.
Remerciements
Pour la vérification de la batterie, cette réponse:
régler le niveau d'avertissement de la batterie de la souris magique
Pour notification, cette réponse:
Comment puis-je déclencher une notification du Centre de notifications à partir d'un script AppleScript ou shell?
Pour les jobs cron, ce blog:
https://ole.michelsen.dk/blog/schedule-jobs-with-crontab-on-mac-osx.html