From 9f47919e0ca7263d56fdeeb510064c15bfbda961 Mon Sep 17 00:00:00 2001 From: Keyitdev <70140437+Keyitdev@users.noreply.github.com> Date: Sat, 21 May 2022 22:22:07 +0200 Subject: [PATCH] Update: Better battery script (using upower instead of acpi). --- scripts/battery | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/scripts/battery b/scripts/battery index f18c274..7b0b67e 100755 --- a/scripts/battery +++ b/scripts/battery @@ -9,27 +9,25 @@ done dir_icons="/usr/local/bin/icons" # notify when below this percentage -warning_level=15 +warning_level=20 # how often to check battery status, in minutes check_interval=1 while true; do - battery_level=$(acpi -b \ - | cut -d, -f2 | cut --characters=2,3,4 \ - | sed 's/%//g') - charging=$(acpi -b | grep -c "charging") - - # when battery is low, and not already charging - if [ "$battery_level" -lt "$warning_level" ] && - [ "$charging" -eq 0 ] + battery_level=$(upower -i $(upower -e | grep BAT) | grep -E "percentage" | sed 's/[^0-9]//g') + discharging=$(upower -i $(upower -e | grep BAT) | grep -E "state" | grep -c "discharging") + time_to_empty=$(upower -i $(upower -e | grep BAT) | grep -E "time to empty" | sed 's/[^0-9,.]//g') + + # check if battery is low and discharging + if [ "$battery_level" -lt "$warning_level" ] && [ "$discharging" -eq 1 ] then dunstify -a "Battery" \ "Low battery: ${battery_level}%" \ - "Battery is running low" \ + "Battery is low ($time_to_empty minutes left)" \ -r 100 \ -i $dir_icons/battery.svg fi sleep ${check_interval}m -done \ No newline at end of file +done