X-Git-Url: https://code.delx.au/spectrwm/blobdiff_plain/5434fc5516aa64039e53885ca62d56858f76921a..3bae7293143f14d53964e8c34fe736bd60e92372:/baraction.sh diff --git a/baraction.sh b/baraction.sh index 061fab6..77c7454 100644 --- 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=`/usr/bin/top | grep Free: | cut -d " " -f6` + 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() { @@ -60,21 +75,31 @@ print_apm() { fi } +print_cpuspeed() { + CPU_SPEED=`/sbin/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 + PID="$!" APM_DATA="" I=0 + trap "kill $PID; exit" TERM while read -p; do - if [ $(( ${I} % 59 )) -eq 0 ]; then + if [ $(( ${I} % 1 )) -eq 0 ]; then APM_DATA=`/usr/sbin/apm -alb` fi - if [ $I -gt 2 ]; then + if [ $I -ge 2 ]; then + # print_date + print_mem $MEM print_cpu $REPLY + print_cpuspeed print_apm $APM_DATA echo "" fi - I=$(( ${I} + 1 )); + I=$(( ( ${I} + 1 ) % 22 )); done done