dotfiles/scripts/batstat
2023-07-31 02:51:39 -06:00

28 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
# Battery indicator for dwmblocks
# Save charge % and status to this variables
bat=$(grep "[0-9]" /sys/class/power_supply/BAT0/capacity)
stat=$(cat /sys/class/power_supply/BAT0/status)
case 1 in
$((bat >= 98)) ) bar="━━━━━━━━━━" ;;
$((bat >= 90)) ) bar="━━━━━━━━━─" ;;
$((bat >= 80)) ) bar="━━━━━━━━──" ;;
$((bat >= 70)) ) bar="━━━━━━━───" ;;
$((bat >= 60)) ) bar="━━━━━━────" ;;
$((bat >= 50)) ) bar="━━━━━─────" ;;
$((bat >= 40)) ) bar="━━━━──────" ;;
$((bat >= 30)) ) bar="━━━───────" ;;
$((bat >= 20)) ) bar="━━────────" ;;
$((bat >= 10)) ) bar="━!────────" ;;
$((bat >= 0)) ) bar="CHARGE NOW" ;;
esac
# Charging indicator if status file indicates such state
[ "$stat" != "Charging" ] && icon="󰁹" || icon=""
echo "$icon $bar"
# Warning when battery is under 10% capacity and not charging
[ $((bat)) -lt 15 ] && [ "$stat" != "Charging" ] &&
notify-send --replace-id=15 "󰁹 Battery" "Capacity at $bat%"