From 7b331521a1aa4b4c31ba1f5fcfa76a34ff2e5768 Mon Sep 17 00:00:00 2001 From: Lars Vierbergen Date: Tue, 15 Oct 2019 21:34:37 +0200 Subject: [PATCH] Handle case where no rate information is available (e.g. when wireless mouse with acpi integration is plugged) --- battery-monitor.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/battery-monitor.sh b/battery-monitor.sh index b89c21c..40c7290 100755 --- a/battery-monitor.sh +++ b/battery-monitor.sh @@ -3,7 +3,7 @@ set -e trap 'xmessage -nearmouse "WARNING: battery monitor died!"' EXIT was_notified=0 while true; do - acpi_data=$(acpi -b) + acpi_data=$(acpi -b | grep -v 'rate information unavailable' | head -n1) status=$(echo -n "$acpi_data" | awk -F'[,:%]' '{print $2}') capacity=$(echo -n "$acpi_data" | awk -F'[,:%]' '{print $3}') echo "Status: $status; Capacity: $capacity; was_notified: $was_notified" @@ -15,7 +15,7 @@ while true; do was_notified=1 fi if [[ "$status" =~ "Discharging" && "$capacity" -lt 10 ]]; then - bash -c 'echo "Battery critical, suspending"; acpi -b' | xmessage -nearmouse -file -& + echo -e "Battery critical, suspending\n$acpi_data" | xmessage -nearmouse -file -& sleep 5 systemctl suspend sleep 600 # Wait 10 minutes, so we only hibernate once