#!/bin/bash
ACPI_AC_FILE=/proc/acpi/ac_adapter/AC/state
ACPI_AC_FILE2=/proc/acpi/ac_adapter/AC0/state
ACPI_BAT_FILE=/proc/acpi/battery/BAT0/state
ACPI_BAT_FILE_I=/proc/acpi/battery/BAT0/info
APM_BAT_FILE=/proc/apm

STATUS=off-line
BAT=0

ISAPM=""

if [ "$1" = "apm" ]; then
	ISAPM="apm"
fi

if [ -f /proc/apm ] ;
	then
	ISAPM="apm"
fi



if [ "$ISAPM" = "apm" ]; then
	if [ -f $APM_BAT_FILE ]; then
		BAT=`cat $APM_BAT_FILE |cut -f9 -d" " |sed s/%//`
		if [ "$BAT" == "-1" ] ;
			then
				STATUS="on-line"
				BAT=`cat $APM_BAT_FILE |cut -f8 -d" " |sed s/%//`
			else
				BAT=`cat $APM_BAT_FILE |cut -f8 -d" " |sed s/%//`
		fi
				if [ "$BAT" == "-1" ] ;
					then
					BAT="unknow"
				fi
	fi
else
	if [ -f $ACPI_AC_FILE ]; then
		STATUS=`awk -F: '{print $2}' $ACPI_AC_FILE |sed s/\ //`
		STATUS=`echo $STATUS|sed s/\ //`
	else
		if [ -f $ACPI_AC_FILE2 ]; then
			STATUS=`awk -F: '{print $2}' $ACPI_AC_FILE `
			STATUS=`echo $STATUS|sed s/\ //`
		fi
	fi
	if [ -f $ACPI_BAT_FILE ]; then
		BAT=`awk -F: '/remaining capacity/ {print $2} ' $ACPI_BAT_FILE`
		BAT=`echo $BAT | cut -f1 -d" "`
	fi
	if [ -f $ACPI_BAT_FILE_I ]; then
		BATI=`awk -F: '/design capacity/ {print $2} ' $ACPI_BAT_FILE_I`
		BATI=`echo $BATI | cut -f1 -d" "`
	fi
fi

if [ ! "$BAT" = "unknown" ]; then
	if [ ! "$BAT" = "" ]; then
		if [ ! "$ISAPM" == "apm" ]; then
			BAT=`echo "scale=0;$BAT/($BATI/100)" |bc -l`
		fi
	fi
fi
if [ "$STATUS" = "on-line" ]; then
			if [ "$BAT" = "unknown" ]; then
				echo "externalpower"
			else
				if [ "$BAT" = "" ]; then
					echo "externalpower"
				else
					if  test  $BAT -gt 98 ; then
						echo "battery_plugged"
					else
						echo "battery_charged"
					fi
				fi
			fi
	else
		if [ "$BAT" = "unknown" ]; then
			BAT=0
		fi
		if [ "$BAT" = "" ]; then
			BAT=0
		fi
		if  test  $BAT -gt 5 ; then
			if  test  $BAT -gt 25 ; then
				if  test  $BAT -gt 60 ; then
						echo "battery_full"
				else
					echo "battery_two_thirds"
				fi
			else
				echo "battery_low"
				fi
		else
			echo "battery_empty"
		fi

	fi
