45 lines
1.2 KiB
Bash
Executable File
45 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Get percentage and remove the % sign cleanly
|
|
perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | awk '/percentage/ {gsub("%",""); print $2}')
|
|
state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | awk '/state/ {print $2}')
|
|
|
|
# Check if values are not empty
|
|
if [ -z "$perc" ] || [ -z "$state" ]; then
|
|
echo "Battery info unavailable"
|
|
exit 1
|
|
fi
|
|
|
|
# Convert to integer
|
|
num=${perc%%.*} # In case perc is float
|
|
|
|
if [ "$state" == "charging" ]; then
|
|
echo " ${perc}%"
|
|
else
|
|
if [ "$num" -gt 95 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 90 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 80 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 70 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 60 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 50 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 40 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 30 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 20 ]; then
|
|
echo " ${perc}%"
|
|
elif [ "$num" -gt 10 ]; then
|
|
echo " ${perc}%"
|
|
else
|
|
notify-send --urgency=critical -t 2000 " low battery, please charge"
|
|
echo " ${perc}%"
|
|
fi
|
|
fi
|
|
|