|
|
|
@ -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 |
|
|
|
|