X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=baraction.sh;h=3bf930ed85f94b432d2453e846a613dd2edd7c20;hb=884794feec977aad3d4b7f96433c538771be2fc8;hp=061fab6013a94ce4b8d530fcba91132627b779e8;hpb=5434fc5516aa64039e53885ca62d56858f76921a;p=spectrwm.git diff --git a/baraction.sh b/baraction.sh old mode 100644 new mode 100755 index 061fab6..3bf930e --- a/baraction.sh +++ b/baraction.sh @@ -1,8 +1,23 @@ #!/bin/sh +# + +print_date() { + # The date is printed to the status bar by default. + # To print the date through this script, set clock_enabled to 0 + # in spectrwm.conf. Uncomment "print_date" below. + FORMAT="%a %b %d %R %Z %Y" + DATE=`date "+${FORMAT}"` + echo -n "${DATE} " +} + +print_mem() { + MEM=$($(which top) -bcn1 | grep Mem: | grep -v grep | cut -d " " -f11) + echo -n "Free mem: $MEM " +} _print_cpu() { typeset -R4 _1=${1} _2=${2} _3=${3} _4=${4} _5=${5} - echo -n "CPU:${_1}% User${_2}% Nice${_3}% Sys${_4}% Int${_5}% Idle " + echo -n "CPU:${_1}% User${_2}% Nice${_3}% Sys${_4}% Int${_5}% Idle " } print_cpu() { @@ -51,7 +66,7 @@ print_apm() { BAT_STRING="(battery unknown)" ;; esac; - + FULL="${AC_STRING}${BAT_STRING}" if [ "$FULL" != "" ]; then echo -n "$FULL" @@ -60,21 +75,31 @@ print_apm() { fi } +print_cpuspeed() { + CPU_SPEED=$($(which sysctl) hw.cpuspeed | cut -d "=" -f2) + echo -n "CPU speed: $CPU_SPEED MHz " +} + while :; do # instead of sleeping, use iostat as the update timer. # cache the output of apm(8), no need to call that every second. - /usr/sbin/iostat -C -c 3600 |& # wish infinity was an option + $(which iostat) -C -c 3600 |& # wish infinity was an option + PID="$!" APM_DATA="" I=0 + trap "kill $PID; exit" TERM while read -p; do - if [ $(( ${I} % 59 )) -eq 0 ]; then - APM_DATA=`/usr/sbin/apm -alb` + if [ $(( ${I} % 1 )) -eq 0 ]; then + APM_DATA=$($(which apm) -alb) fi - if [ $I -gt 2 ]; then - print_cpu $REPLY + if [ $I -ge 2 ]; then + # print_date + print_mem + print_cpu + print_cpuspeed print_apm $APM_DATA echo "" fi - I=$(( ${I} + 1 )); + I=$(( ( ${I} + 1 ) % 22 )); done done