Advertisement
Guest User

Untitled

a guest
Jun 28th, 2012
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.16 KB | None | 0 0
  1. check_battery(){
  2.     if [[ -z "$BATTERY_DEV" || $LAST_BATTERY_CHECK -gt 5 ]] ; then
  3.         LAST_BATTERY_CHECK=0
  4.         BATTERY_DEV="AC"
  5.         for device in `ls /sys/class/power_supply`
  6.         do
  7.             if [[ "`cat /sys/class/power_supply/$device/type`" = "Battery" ]] ; then
  8.                 BATTERY_DEV=$device
  9.                 break
  10.             fi
  11.         done
  12.     fi
  13.     ((LAST_BATTERY_CHECK++))
  14.     BATTERY_STATE="AC"
  15.     if [[ "$BATTERY_DEV" = "AC" ]] ; then
  16.         return
  17.     elif [[ ! -e "/sys/class/power_supply/$BATTERY_DEV" ]] ; then
  18.         BATTERY_DEV=""
  19.         return
  20.     fi
  21.     FULL=`cat /sys/class/power_supply/$BATTERY_DEV/charge_full`
  22.     PRESENT=`cat /sys/class/power_supply/$BATTERY_DEV/present`
  23.     CHARGE=`cat /sys/class/power_supply/$BATTERY_DEV/charge_now`
  24.     STATUS=`cat /sys/class/power_supply/$BATTERY_DEV/status`
  25.     if [ "$PRESENT" != "0" ] ; then
  26.         CHARGE=$(($CHARGE*100/$FULL))
  27.       case $STATUS in
  28.         Full)
  29.           SIGN="f";;
  30.         Charging)
  31.           SIGN="c";;
  32.         Discharging)
  33.           SIGN="d";;
  34.         *)
  35.           SIGN="u";;
  36.       esac
  37.       BATTERY_STATE="$CHARGE% [$SIGN]"
  38.     fi
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement