67 lines
1.5 KiB
Bash
Executable File
67 lines
1.5 KiB
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"
|
|
}
|
|
|
|
batteries=$(acpi | rg 'Battery (\d)' -or '$1')
|
|
# echo "BATTERIES: $batteries"
|
|
|
|
text=""
|
|
for battery in $batteries; do
|
|
# echo "BATTERY $battery"
|
|
bt=$(acpi -b | grep "Battery $battery")
|
|
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")
|
|
BATTEXT="$ICON $BAT%%"
|
|
text+="<span foreground=\"${COLOR}\">${BATTEXT}</span> "
|
|
done
|
|
printf "${text:0:-1}\n\n"
|
|
|
|
# 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
|
|
|