Files
2026-06-05 23:49:54 -04:00

35 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env zsh
LC_CTYPE="en_US.UTF-8"
set -x
charging_status () {
cat /sys/class/power_supply/BAT0/status
}
battery_percentage () {
ibam --percentbattery | grep -Pom 1 '\d{1,3}'
}
if [[ "$(charging_status)" == "Charging" ]] && \
[[ $(battery_percentage) -gt 5 ]] && \
[[ -f /run/user/${UID}/battery_low ]]; then
logger "Power reconnected and above 5 percent, clearing nofication state."
rm /run/user/${UID}/battery_low
for id in $(dunstctl history | jq '.data[0][] | select(.summary.data == "LOW BATTERY!")| .id.data' \
| tee /tmp/dunst_history.json); do
dunstify --close=${id}
done
elif [[ "$(charging_status)" == "Discharging" ]] && \
[[ $(battery_percentage) -le 5 ]] && \
[[ ! ( -f /run/user/${UID}/battery_low ) ]] ; then
logger "Low power! Triggering notification...."
dunstify --urgency=critical \
--icon=/usr/share/icons/breeze-dark/emblems/16/emblem-warning.svg \
'LOW BATTERY!' \
'Battery level is low, plug power quick!'
touch /run/user/${UID}/battery_low
fi
set +x
# vim: ft=zsh