summaryrefslogtreecommitdiffstats
path: root/.local/bin/status/sb-cpu
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-x.local/bin/status/sb-cpu12
1 files changed, 8 insertions, 4 deletions
diff --git a/.local/bin/status/sb-cpu b/.local/bin/status/sb-cpu
index 3775864..3b68cf4 100755
--- a/.local/bin/status/sb-cpu
+++ b/.local/bin/status/sb-cpu
@@ -1,11 +1,15 @@
#!/bin/sh
-ncpu=$(sysctl -n hw.ncpu)
-ncpu=$((ncpu + 1))
-topline=$((ncpu * 2 - 1))
+ncpu_file="/tmp/ncpu"
+if [ -f $ncpu_file ]; then
+ ncpu=$(cat $ncpu_file)
+else
+ ncpu=$(sysctl -n hw.ncpu | tee $ncpu_file)
+fi
printf " "
-for i in $(top -P -d 2 -s 0.2 | grep '^CPU' | sed -n ${ncpu},${topline}p | rev | cut -d' ' -f2 | rev | cut -d'.' -f1 | awk '{print (100 - $1)}'); do
+# for i in $(top -P -d 1 | sed -n 3,${topline}p | rev | cut -d' ' -f2 | rev | cut -d'.' -f1 | awk '{print (100 - $1)}'); do
+for i in $(top -P -d 2 -s 0.2 | grep '^CPU' | tail -n$ncpu | sed '{s/% idle$//;s/.*[[:blank:]]//;s/\..*//;s/^/100 - /;}' | bc); do
case $(echo $i / 12.5 | bc) in
"0") printf "▁";;
"1") printf "▂";;