#!/bin/bash # Low battery notifier # Kill already running processes already_running="$(ps -fC 'grep' -N | grep 'battery_notice.sh' | wc -l)" if [[ $already_running -gt 1 ]]; then pkill -f --older 1 'battery_notice.sh' fi # Get path path="$( dirname "$(readlink -f "$0")" )" while [[ 0 -eq 0 ]]; do battery_status="$(cat /sys/class/power_supply/BAT1/status)" battery_charge="$(cat /sys/class/power_supply/BAT1/capacity)" if [[ $battery_status == 'Discharging' && $battery_charge -le 40 ]]; then if [[ $battery_charge -le 20 ]]; then notify-send --replace-id=0 --icon=" " --urgency=critical "Battery critical!" "${battery_charge}% 🪫" sleep 120 elif [[ $battery_charge -eq 40 ]]; then notify-send --replace-id=1 --icon=" " --urgency=normal "Battery low!" "${battery_charge}% 🪫" --expire-time=30000 sleep 240 fi else sleep 60 fi done