From d2a2c0fd58fdd1d258e074d2f9d5bf35414c6bf0 Mon Sep 17 00:00:00 2001 From: Alexander Rosenberg Date: Wed, 17 May 2023 22:14:47 -0700 Subject: [PATCH] Fix battery-notify.sh --- battery-notify.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/battery-notify.sh b/battery-notify.sh index 799c463..b8613be 100755 --- a/battery-notify.sh +++ b/battery-notify.sh @@ -1,6 +1,8 @@ #!/usr/bin/env zsh -if [[ "$(uname)" = 'Linux' ]]; then +local system_uname="$(uname)" + +if [[ "${system_uname}" = 'Linux' ]]; then let charge_full="$(cat '/sys/class/power_supply/BAT0/charge_full')." function get_battery_percent { let charge_now="$(cat '/sys/class/power_supply/BAT0/charge_now')." @@ -13,23 +15,28 @@ if [[ "$(uname)" = 'Linux' ]]; then } # Linux ends here else - echo "${0}: error: unknown os: \"$(uname)\"" >&2 + echo "${0}: error: unknown os: \"${system_uname}\"" >&2 exit 1 fi function send_battery_warning { - notify-send -t 0 "Low Battery" "Battery is at ${1}%!" + dunstify -p -t 0 "Low Battery" "Battery is at ${1}%!" } local did_notify=false +let notify_id=-1 while true; do let battery_percent="$(get_battery_percent)" if ((${battery_percent} > 10)) || is_adapted_connected; then did_notify=false + if ((${notify_id} > 0)); then + dunstify -C ${notify_id} + notify_id=-1 + fi elif ! ${did_notify}; then did_notify=true - send_battery_warning ${battery_percent} + notify_id="$(send_battery_warning ${battery_percent})" fi sleep 10 done