回答:
bashスクリプトをコピーして実行し、cronジョブを追加する場合は、無料で最新の完全なソリューション(2018年6月現在)で、プログラミングは不要です(その部分はあなたのために行いました)。システム管理:
これを次のような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またはシェルスクリプトから通知センター通知をトリガーするにはどうすればよいですか?
cronジョブについては、このブログ:
https://ole.michelsen.dk/blog/schedule-jobs-with-crontab-on-mac-osx.html
やり方がある!
悲しいことに、これにはBTT(Better Touch Tools)が必要です。BTTは無料でしたが、現在進行中の開発をサポートするために、5 USDからお支払いいただけるライセンスモデルがあります。ただし、数日間無料でテストできます。
通知を設定する方法:
いつでもビットバーをダウンロードし、実行するスクリプトを追加するだけです(https://github.com/kkunkel/OSX-Nagiosなど)。