2 # baraction.sh for scrotwm status bar
3 # From http://wiki.archlinux.org/index.php/Scrotwm
6 #loops forever outputting a line every SLEEP_SEC secs
9 eval $
(cat /proc
/acpi
/battery
/BAT
0/state |
awk '/charging state/ {printf "BAT_CHGSTATE=%s;", $3}; /remaining capacity/ {printf "BAT_REMNG=%s;",$3}; /present rate/ {printf "BAT_RATE=%s;",$3};' -)
10 eval $
(cat /proc
/acpi
/battery
/BAT
0/info |
awk '/present/ {printf "BAT_PRESENT=%s;", $2}; /last full capacity/ {printf "BAT_LASTFULL=%s;",$4};' -)
12 BAT_REMNG_WH
=`echo "scale=1; a=($BAT_REMNG+50)/1000; print a" | bc -l`
13 BAT_RATE_W
=`echo "scale=1; a=($BAT_RATE+50)/1000; print a" | bc -l`
14 BCSCRIPT
="scale=0; a=(100*$BAT_REMNG / $BAT_LASTFULL); print a"
15 BAT_PCT
=`echo $BCSCRIPT | bc -l`%
19 POWER_STR
="AC, NO BATTERY"
28 POWER_STR
="$AC_STATUS $BAT_CHGSTATE $BAT_PCT"
33 BCSCRIPT
="scale=1; a=(60*($BAT_LASTFULL - $BAT_REMNG) / $BAT_RATE); print a"
34 TIMETOFULL_MIN
=`echo $BCSCRIPT | bc -l`
35 POWER_STR
="$AC_STATUS $BAT_CHGSTATE $BAT_PCT C="$BAT_REMNG_WH"Wh Rate="$BAT_RATE_W"W TTF="$TIMETOFULL_MIN"min"
39 TIME_REMNG_MIN
=`echo "scale=0; a=(60*$BAT_REMNG / $BAT_RATE); print a" | bc -l`
40 TIME_REMNG_HH
=`echo "scale=0; a=($BAT_REMNG / $BAT_RATE); if (a<10) {print "0"; print a} else {print a}" | bc -l`
42 TIME_REMNG_MM
=`echo "scale=0; a=($TIME_REMNG_MIN-60*$TIME_REMNG_HH); if (a<10) {print "0"; print a} else {print a}" | bc -l`
43 POWER_STR
="$AC_STATUS $BAT_PCT C="$BAT_REMNG_WH"Wh P="$BAT_RATE_W"W R="$TIME_REMNG_HH":"$TIME_REMNG_MM
46 POWER_STR
=$BAT_CHGSTATE
56 #scrotwm bar_print can't handle UTF-8 characters, such as degree symbol
57 #Core 0: +67.0°C (crit = +100.0°C)
58 eval $
(sensors
2>/dev
/null |
sed s
/[°
+]//g |
awk '/^Core 0/ {printf "CORE0TEMP=%s;", $3}; /^Core 1/ {printf "CORE1TEMP=%s;",$3}; /^fan1/ {printf "FANSPD=%s;",$2};' -)
59 TEMP_STR
="Tcpu=$CORE0TEMP,$CORE1TEMP F=$FANSPD"
61 WLAN_ESSID
=$
(iwconfig wlan0 |
awk -F "\"" '/wlan0/ { print $2 }')
62 eval $
(cat /proc
/net
/wireless |
sed s
/[.
]//g |
awk '/wlan0/ {printf "WLAN_QULTY=%s; WLAN_SIGNL=%s; WLAN_NOISE=%s", $3,$4,$5};' -)
63 BCSCRIPT
="scale=0;a=100*$WLAN_QULTY/70;print a"
64 WLAN_QPCT
=`echo $BCSCRIPT | bc -l`
65 WLAN_POWER
=`iwconfig 2>/dev/null| grep "Tx-Power"| awk {'print $4'}|sed s/Tx-Power=//`
66 WLAN_STR
="$WLAN_ESSID: Q=$WLAN_QPCT% S/N="$WLAN_SIGNL"/"$WLAN_NOISE"dBm T="$WLAN_POWER"dBm"
68 CPUFREQ_STR
=`echo "Freq:"$(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;')`
69 CPULOAD_STR
="Load:$(uptime | sed 's/.*://; s/,//g')"
71 eval $
(awk '/^MemTotal/ {printf "MTOT=%s;", $2}; /^MemFree/ {printf "MFREE=%s;",$2}' /proc
/meminfo
)
72 MUSED
=$
(( $MTOT - $MFREE ))
73 MUSEDPT
=$
(( ($MUSED * 100) / $MTOT ))
74 MEM_STR
="Mem:${MUSEDPT}%"
76 echo -e "$POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"
77 #alternatively if you prefer a different date format
78 #DATE_STR=`date +"%H:%M %a %d %b`
79 #echo -e "$DATE_STR $POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"