Для тих, хто хоче скопіювати та запустити скрипт 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
щоб вийти з редактора і зберегти завдання cron.
Подяка
Щоб перевірити акумулятор, це відповідь:
відрегулювати рівень попередження батареї чарівної миші
Для отримання відповіді:
Як я можу запустити сповіщення Центру сповіщень із сценарію AppleScript або оболонки?
Щодо робочих записів із запитом на це: цей блог:
https://ole.michelsen.dk/blog/schedule-jobs-with-crontab-on-mac-osx.html