99 lines
3.0 KiB
Bash
Executable File
99 lines
3.0 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
# This script uses upower to get all the battery informations
|
|
# https://upower.freedesktop.org/docs/Device.html
|
|
|
|
CHARGE=$(upower -i $(upower -e | grep '/battery') | grep --color=never -E percentage|xargs|cut -d' ' -f2|sed s/%//)
|
|
ICON=""
|
|
BAT_STATE=$(upower -i `upower -e | grep 'battery'` | grep -E 'state')
|
|
COLOR=""
|
|
|
|
#More Icons
|
|
#
|
|
|
|
# Charging
|
|
if [[ $BAT_STATE == *'discharging'* ]]; then
|
|
if [ $CHARGE -eq 0 ]; then
|
|
ICON=""
|
|
COLOR="%{F#fc8894}"
|
|
elif [ $CHARGE -gt 0 ] && [ $CHARGE -le 10 ]; then
|
|
ICON=""
|
|
COLOR="%{F#fc8894}"
|
|
elif [ $CHARGE -gt 10 ] && [ $CHARGE -le 20 ]; then
|
|
ICON=""
|
|
COLOR="%{F#fc8894}"
|
|
#notify-send -u critical "Battery Warning" "20% charge remaining!"
|
|
elif [ $CHARGE -gt 20 ] && [ $CHARGE -le 30 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 30 ] && [ $CHARGE -le 40 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 40 ] && [ $CHARGE -le 50 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 50 ] && [ $CHARGE -le 60 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 60 ] && [ $CHARGE -le 70 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 70 ] && [ $CHARGE -le 80 ]; then
|
|
ICON=""
|
|
COLOR="%{F#8be09c}"
|
|
elif [ $CHARGE -gt 80 ] && [ $CHARGE -le 90 ]; then
|
|
ICON=""
|
|
COLOR="%{F#8be09c}"
|
|
elif [ $CHARGE -gt 90 ]; then
|
|
ICON=""
|
|
COLOR="%{F#8be09c}"
|
|
fi
|
|
# Discharging
|
|
elif [[ $BAT_STATE == *'charging'* ]]; then
|
|
if [ $CHARGE -eq 0 ]; then
|
|
ICON=""
|
|
COLOR="%{F#fc8894}"
|
|
elif [ $CHARGE -gt 0 ] && [ $CHARGE -le 10 ]; then
|
|
ICON=""
|
|
COLOR="%{F#fc8894}"
|
|
elif [ $CHARGE -gt 10 ] && [ $CHARGE -le 20 ]; then
|
|
ICON=""
|
|
COLOR="%{F#fc8894}"
|
|
elif [ $CHARGE -gt 20 ] && [ $CHARGE -le 30 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 30 ] && [ $CHARGE -le 40 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 40 ] && [ $CHARGE -le 50 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 50 ] && [ $CHARGE -le 60 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 60 ] && [ $CHARGE -le 70 ]; then
|
|
ICON=""
|
|
COLOR="%{F#e3e3e3}"
|
|
elif [ $CHARGE -gt 70 ] && [ $CHARGE -le 80 ]; then
|
|
ICON=""
|
|
COLOR="%{F#8be09c}"
|
|
elif [ $CHARGE -gt 80 ] && [ $CHARGE -le 90 ]; then
|
|
ICON=""
|
|
COLOR="%{F#8be09c}"
|
|
elif [ $CHARGE -gt 90 ]; then
|
|
ICON=""
|
|
COLOR="%{F#8be09c}"
|
|
fi
|
|
elif [[ $BAT_STATE == *'fully-charged'* ]]; then
|
|
ICON=""
|
|
COLOR="%{F#8be09c}"
|
|
#notify-send -u low "Battery Info" "Your battery is fully charged"
|
|
elif [[ $BAT_STATE == *'unknown'* ]]; then
|
|
ICON=""
|
|
fi
|
|
|
|
STRING="$COLOR$ICON $CHARGE%"
|
|
|
|
# Final formatted output.
|
|
echo $STRING
|