This battery status geeklet tries to be a little more efficient by calling ioreg only once. Some of the other call ioreg 3 times to get all it's values. On my MacBook Air (2nd Gen) it takes about 1-2 seconds per execution.
If it's plugged into an external power supply it'll look like this:
99 ↯
If it's using battery power it'll look like this:
98 ⚡
Here's the code:
ioreg=`ioreg -w0 -l | grep "ExternalConnected|CurrentCapacity|MaxCapacity" | awk '{print $5}'`
my_ac_adapt=`echo $ioreg | awk '{print $1}'`
max_power=`echo $ioreg | awk '{print $2}'`
cur_power=`echo $ioreg | awk '{print $3}'`
bat_percent=`echo "scale=2;$cur_power / $max_power" | bc`
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/.00//'`
if [ $my_ac_adapt == "Yes" ]
then
echo "$bat_percent ↯"
else
echo "$bat_percent ⚡"
fi