+#!/bin/sh
+# Polls the battery status once per minute. Echos the status to ratpoison if the
+# battery is discharging. At low battery status, it warns at 30,20 and 15 minutes
+# remaining. Shutsdown at 9 minutes remaining. Requires 'acpitool' to poll the battery.
+
+while [ 1 ]; do
+ if [ $(acpitool | awk '/AC adapter/{print $4}') = "off-line" ]; then
+ bat_stat="$(acpitool | grep Battery)"
+ seconds_remaining=$(echo $bat_stat | awk '{print $6}' | awk -F':' '{print $1*3600 + $2*60 + $3}')
+ if [ $seconds_remaining -le 840 ]; then
+ sudo shutdown -h now
+ elif [ $seconds_remaining -le 900 ]; then
+ ratpoison -c "echo Critical! 15 minutes of battery remaining. Shutting down in 1minute."
+ elif [ $seconds_remaining -le 1200 ]; then
+ ratpoison -c "echo Warning! 20 minutes of battery remaining. Shuttind down in 5 minutes."
+ elif [ $seconds_remaining -le 1800 ]; then
+ ratpoison -c "echo Warning, 30 minutes of battery remaining. Shutting down in 15 minutes."
+ fi
+ ratpoison -c "echo $bat_stat"
+ fi
+ sleep 60
+done
+