#!/bin/bash ################################# #BATTERY STAT SCRIPT FOR Z2 # -JAGSPH 2010 VERSION 0.02 # # ######### # Vars # #Read status with nubmers only BATST="`cat /proc/apm | awk '{ print $7}'| awk -F "" '{print $1$2}'`" #Low Threshold BATLT="46" #Warning Threshold BATWT="50" #High Threshold BATHT="80" #Fully Charged on AC FULLC="89" #Polling Time POLL=30 #Warned? WARN=0 WARNS=0 function warning1 { if [ "$WARN" -eq "1" ]; then echo "Function warning1 Doing nothing" else xmessage -center "Power low; SHUTDOWN:$BATLT CUR:$BATST" WARN=1 fi } function warning2 { if [ "$WARNS" -eq "1" ]; then echo "Function warning2 Doing nothing" else xmessage -center "Power low; Shutdown in 2 MIN; Save Work" & WARNS=1 fi } function fullcharge { echo Fully Charged Function echo "#################################" if [ "$BATST" -lt "$FULLC" ]; then echo Charge is $BATST out of $FULLC else #echo $BATST greather than $FULLC echo "FC: Fully Chared $BATST OF $FULLC" fi } function batpower { echo On battery power function echo "#################################" if [ "$BATST" -lt "$BATHT" ]; then echo $BATST less than $BATHT echo System Is Officially on battery power else #echo $BATST greather than $BATHT #echo "System Is over the $BATHT Threshold" echo "BAT: Charging over $BATST over $BATHT on AC Power" #echo "Even though it may not be" #echo "Since we cannot accurately calculate" #echo "BP: $BATST of $BATHT Threshold" fi echo "" } function warn { echo Warning Function echo "#################################" if [ "$BATST" -lt "$BATWT" ]; then #echo $BATST less than $BATWT echo Warning echo System will shutdown at $BATLT echo System is at $BATST warning1 & sleep 2 WARN=1 #xmessage -center "Power low; SHUTDOWN:$BATLT CUR:$BATST" else #echo $BATST greather than $BATWT echo "WARN: $BATST of $BATWT Threshold" fi echo "" } function low { echo Low Function echo "#################################" if [ "$BATST" -lt "$BATLT" ]; then echo $BATST less than $BATLT echo System shutdown in 120 Seconds echo Save your work warning2 & sleep 5 WARNS=1 sleep 120 ; op shutdown else echo "LOW: $BATST above $BATLT Shutdown Threshold" fi echo "" } function loop { while true ; do echo "System is reporting "$BATST"% from /proc/apm" clear; low; warn; batpower; fullcharge; sleep $POLL done } #Entry Point sleep 1 loop;