Para aqueles que desejam copiar e executar um script bash e adicionar um trabalho cron, aqui está uma solução completa, gratuita e atual (a partir de junho de 2018) e que não requer programação (fiz essa parte para você), apenas um pouco administração do Sistema:
Salve isso em um script bash como ~/.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
Abra o Terminal e torne o script executável:
chmod +x ~/.mouse-battery-check.sh
Agora você pode testar se o script envia uma notificação na área de trabalho, executando-o quando o mouse BlueTooth está conectado (isso testa bateria com menos de 101%, portanto, sempre envie uma notificação):
~/.mouse-battery-check.sh 101
Para testar novamente com a configuração padrão (20%):
~/.mouse-battery-check.sh
Quando um mouse BlueTooth não é detectado, o script retornará "Nenhum mouse encontrado".
Verificando automaticamente
Agora, para testar periodicamente e notificá-lo automaticamente, adicione um novo trabalho cron :
env EDITOR=nano crontab -e
Adicione uma entrada para verificar a cada 15 minutos:
*/15 * * * * cd ~ && bash ~/.mouse-battery-check.sh
(Você pode novamente passar a porcentagem da bateria como parâmetro para o script aqui.)
Imprensa Control+X
, em seguida, Y
em seguida, Enter
para sair do editor e salvar o trabalho cron.
Reconhecimentos
Para verificação da bateria, esta resposta:
ajustar o nível de aviso de bateria do mouse mágico
Para notificação, esta resposta:
Como acionar uma notificação da Central de Notificações de um script AppleScript ou shell?
Para trabalhos cron, este blog:
https://ole.michelsen.dk/blog/schedule-jobs-with-crontab-on-mac-osx.html