blob: 9e67834384346ec79673ba2a79267325c10a3109 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/bin/sh
#
# original script by lyon8 <lyon8@gmx.net>
# modifications from original by <sean.escriva@gmail.com>
# show your laptop battery state in dzen
# Taken from http://www.webframp.com/2008/08/17/switchdzen/ and modified by Ryan
# Kavanagh <ryanakca@kubuntu.org> to add support for a missing battery and use
# /sys instead of /proc/acpi/battery
BG='#171717' # dzen backgrounad
FG='#008dd5' # dzen foreground
W=114 # width of the dzen bar
GW=50 # width of the gauge
GFG='#33ccff' # color of the gauge
GH=7 # height of the gauge
GBG='#333' # color of gauge background
X=0 # x position
Y=0 # y position
FN='snap' # font
STATEFILE='/sys/bus/acpi/drivers/battery/PNP0C0A:00/power_supply/BAT1/uevent' # battery's state file
LOWBAT=10 # percentage of battery life marked as low
LOWCOL='#ff4747' # color when battery is low
CHGCOL='#60da11' # color when battery is charging
TIME_INT=30 # time intervall in seconds
PREBAR='^i(/home/ryan/.dzen/icons/power-bat.xbm) ' # caption (also icons are possible)
while true; do
# look up battery's data
PRESENT=`cat $STATEFILE|grep POWER_SUPPLY_PRESENT|cut -d '=' -f 2`;
if [ $PRESENT = '1' ]; then
BAT_FULL=`cat $STATEFILE|grep POWER_SUPPLY_CHARGE_FULL_DESIGN | cut -d '=' -f 2 `;
STATUS=`cat $STATEFILE|grep POWER_SUPPLY_STATUS |cut -d '=' -f 2`;
RCAP=`cat $STATEFILE|grep POWER_SUPPLY_CHARGE_NOW|cut -d '=' -f 2`;
echo $BAT_FULL " " $STATUS " " $RCAP > /dev/stdout
# calculate remaining power
RPERCT=`expr $RCAP \* 100`;
RPERC=`expr $RPERCT / $BAT_FULL`;
# draw the bar and pipe everything into dzen
if [ $RPERC -le $LOWBAT ]; then
GFG=$LOWCOL;
fi
if [ $STATUS = 'Charging' ]; then
GFG=$CHGCOL;
else
GFG='#33ccff';
fi
echo -n $PREBAR #uncomment for an icon
eval echo $RPERC | dzen2-gdbar -h $GH -w $GW -fg $GFG -bg $GBG
else
echo -n $PREBAR #uncomment for an icon
eval echo 'Missing'
fi
sleep $TIME_INT;
done | dzen2 -ta c -tw $W -y $Y -x $X -fg $FG -bg $BG #-fn $FN
|