dotfiles/bin/battery

51 lines
1004 B
Bash
Executable File

#!/bin/bash
geticon() {
local icon=󰂎
state=$2
if [ "$state" = "Charging" ]; then
icon=󰂄
else
[ "$1" -gt 0 ] && icon=󰂃
[ "$1" -gt 10 ] && icon=󰁻
[ "$1" -gt 20 ] && icon=󰁼
[ "$1" -gt 30 ] && icon=󰁽
[ "$1" -gt 40 ] && icon=󰁾
[ "$1" -gt 50 ] && icon=󰁿
[ "$1" -gt 60 ] && icon=󰂀
[ "$1" -gt 70 ] && icon=󰂁
[ "$1" -gt 80 ] && icon=󰂂
[ "$1" -gt 90 ] && icon=󰁹
fi
echo "$icon"
}
getcolor() {
local color='#80ff80'
if [ "$2" = "Charging" ]; then
color='#0080ff'
else
[ "$1" -lt 60 ] && color='#ffff00'
[ "$1" -lt 30 ] && color='#ff8000'
[ "$1" -lt 15 ] && color='#ff0000'
fi
echo "$color"
}
bt=$(acpi -b | grep "Battery $1")
BAT=$(echo "$bt" | rg "(\d?\d?\d)%" -or '$1')
STAT=$(echo "$bt" | rg ": ([\w\s]+)," -or '$1')
ICON=$(geticon "$BAT" "$STAT")
COLOR=$(getcolor "$BAT" "$STAT")
#echo "$ICON" $(($1 + 1)): "$BAT"%
echo "$ICON" "$BAT"%
echo "$ICON" "$BAT"%
echo "$COLOR"
exit 0