Для тех, кто хочет скопировать и запустить скрипт bash и добавить задание cron, вот полное решение, которое является бесплатным и актуальным (по состоянию на июнь 2018 года) и не требует программирования (я сделал эту часть для вас), просто немного системное администрирование:
Сохраните это в скрипт bash, например ~/.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
Откройте Терминал и сделайте скрипт исполняемым:
chmod +x ~/.mouse-battery-check.sh
Теперь вы можете проверить, что скрипт отправляет уведомление на рабочем столе, запустив его, когда ваша мышь BlueTooth подключена (это проверяет батарею менее чем на 101%, поэтому он всегда должен отправлять уведомление):
~/.mouse-battery-check.sh 101
Чтобы проверить снова с настройкой по умолчанию (20%):
~/.mouse-battery-check.sh
Если мышь BlueTooth не обнаружена, скрипт вернет сообщение «мышь не найдена».
Автоматическая проверка
Теперь, чтобы периодически проверять и автоматически уведомлять вас, добавьте новое задание cron :
env EDITOR=nano crontab -e
Добавить запись, как проверить каждые 15 минут:
*/15 * * * * cd ~ && bash ~/.mouse-battery-check.sh
(Вы можете снова передать процент заряда батареи в качестве параметра скрипту здесь.)
Нажмите Control+X
затем Y
затем , Enter
чтобы выйти из редактора и сохраните хроны.
Подтверждения
Для проверки батареи, этот ответ:
отрегулировать уровень заряда батареи волшебной мыши
Для уведомления, этот ответ:
Как я могу вызвать уведомление Центра уведомлений из скрипта AppleScript или оболочки?
Для рабочих мест cron этот блог:
https://ole.michelsen.dk/blog/schedule-jobs-with-crontab-on-mac-osx.html