summaryrefslogtreecommitdiff
path: root/.local/bin/statusbar/cpuinfo
blob: de53f223d1cad65bbd69f9a02ab68a41503ce5ee (plain)
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
#!/usr/bin/env bash
set -e

ARG=${1:-$BLOCK_BUTTON}

case $ARG in
	1) notify-send --urgency=low       \
	   "Process status"             \
	   "$(ps -eo pid,pcpu,size,comm \
	      | sort -rnk 3             \
	      | awk '{printf "% 8s% 8s% 8s ", $1, $2, $3;
	              $1="";$2="";$3="";
	              print $0; c++}
	             c>10 {exit}')"
	;;
	3) notify-send --urgency=low      \
	   "Process status"            \
	   "$(ps -eo pid,pcpu,size,cmd \
	      | sort -rnk 3            \
	      | cut -b -45             \
	      | awk '{printf "% 8s% 8s% 8s ", $1, $2, $3;
	              $1="";$2="";$3="";
	              print $0; c++}
	             c>10 {exit}')"
	;;
esac

# Thermals
# "Never cat something into awk", yeah, but it won't function properly if it
# encounters a missing `/temp`-file.
TEMP=$(cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null | awk '{s+=$1}END{printf "%.1f", s / (1000*NR)}' )
TEMP=`(( $(echo "$TEMP > 45" | bc -l) )) && echo -en "\x0c${TEMP}\x0b" || echo -en "$TEMP"`

# Load
LOAD=$(sed -Ee 's/^([0-9]+\.[0-9]+) .*/\1/g' /proc/loadavg | tr -d '\n')


echo -en "[${LOAD} \x0f\x0b ${TEMP}°]"