Update: Better battery script (using upower instead of acpi).

This commit is contained in:
Keyitdev
2022-06-22 19:32:33 +02:00
parent 0f8a50a712
commit 9f47919e0c
+9 -11
View File
@@ -9,27 +9,25 @@ done
dir_icons="/usr/local/bin/icons" dir_icons="/usr/local/bin/icons"
# notify when below this percentage # notify when below this percentage
warning_level=15 warning_level=20
# how often to check battery status, in minutes # how often to check battery status, in minutes
check_interval=1 check_interval=1
while true; do while true; do
battery_level=$(acpi -b \ battery_level=$(upower -i $(upower -e | grep BAT) | grep -E "percentage" | sed 's/[^0-9]//g')
| cut -d, -f2 | cut --characters=2,3,4 \ discharging=$(upower -i $(upower -e | grep BAT) | grep -E "state" | grep -c "discharging")
| sed 's/%//g') time_to_empty=$(upower -i $(upower -e | grep BAT) | grep -E "time to empty" | sed 's/[^0-9,.]//g')
charging=$(acpi -b | grep -c "charging")
# check if battery is low and discharging
# when battery is low, and not already charging if [ "$battery_level" -lt "$warning_level" ] && [ "$discharging" -eq 1 ]
if [ "$battery_level" -lt "$warning_level" ] &&
[ "$charging" -eq 0 ]
then then
dunstify -a "Battery" \ dunstify -a "Battery" \
"Low battery: ${battery_level}%" \ "Low battery: ${battery_level}%" \
"Battery is running low" \ "Battery is low ($time_to_empty minutes left)" \
-r 100 \ -r 100 \
-i $dir_icons/battery.svg -i $dir_icons/battery.svg
fi fi
sleep ${check_interval}m sleep ${check_interval}m
done done