dotfiles/waybar/scripts/check_battery.sh

41 lines
845 B
Bash
Executable File

#! /usr/bin/env bash
file=~/.config/waybar/scripts/lowbat
bat="/sys/class/power_supply/BAT1"
crit="${1:-150}"
stat="$(cat $bat/status)"
perc="$(cat $bat/capacity)"
notifysend() {
local pid
local title="Low Battery"
local body="Current charge: $perc%"
if [[ ! -f "$file" ]]; then
pid="$(notify-send --print-id --urgency=critical --icon=dialog-warning "$title" "$body")"
else
pid="$(notify-send --print-id --replace-id="$(cat $file)" --urgency=critical --icon=dialog-warning "$title" "$body")"
fi
echo $pid > $file
}
main() {
if [[ "$stat" == "Discharging" ]] && [[ "$perc" -le "$crit" ]] && [[ ! -f "$file" ]]; then
notifysend
fi
if [[ -f "$file" ]]; then
case "$stat" in
"Charging" )
rm $file
;;
"Discharging" )
notifysend
;;
* );;
esac
fi
}
main $@