mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 14:12:41 +00:00
33 lines
902 B
Bash
Executable File
33 lines
902 B
Bash
Executable File
#!/bin/zsh
|
|
|
|
# Used with the systemd battery monitor service and timer to alert
|
|
# when the battery has dropped below the threshold and is not currently
|
|
# charging.
|
|
|
|
THRESHOLD=20 # Notify when below 20%
|
|
NOTIFICATION_FLAG="/run/user/${UID}/user_battery_notified"
|
|
|
|
function get-battery-percentage() {
|
|
local battery=$(upower --battery | grep percentage)
|
|
echo "${battery//[^0-9]/}"
|
|
}
|
|
|
|
function send-battery-alert() {
|
|
notify-send -u critical \
|
|
"Recharge battery!" "Batttery is down to ${1}" \
|
|
-i battery-caution \
|
|
-t 30000
|
|
}
|
|
|
|
battery_percentage=$(get-battery-percentage)
|
|
battery_state=$(upower --battery | grep -E state | awk '{print $2}')
|
|
|
|
if [[ "$battery_state" == "discharging" && "$battery_percentage" -le "$THRESHOLD" ]]; then
|
|
if [ ! -f "$NOTIFICATION_FLAG" ]; then
|
|
send-battery-alert "$battery_percentage"
|
|
touch "$NOTIFICATION_FLAG"
|
|
fi
|
|
else
|
|
rm -f "$NOTIFICATION_FLAG"
|
|
fi
|