dotfiles

Dotfiles for my OpenBSD environment.
git clone https://git.mtkn.jp/dotfiles
Log | Files | Refs

dwm_status (1152B)


      1 #!/bin/sh
      2 date="$(date '+%m/%d %a %H:%M') |"
      3 
      4 mute=$(sndioctl -n output.mute)
      5 [ "$mute" = 1 ] && state="MUTE" || state="VOL"
      6 volume=$(printf '%.0f' $(echo $(sndioctl -n output.level) '*' 100 | bc))
      7 volume=" $state $volume |"
      8 
      9 online=$(apm -a)
     10 capacity=$(apm -l)
     11 if [ "$online" = "1" ]; then
     12 	bat=" AC $capacity |"
     13 elif [ "$online" = "0" ]; then
     14 	bat=" BAT $capacity |"
     15 else
     16 	bat=""
     17 fi
     18 
     19 cpu=" CPU $(uptime | sed 's/.*load averages: \(.*\)/\1/' | cut -d, -f1) "$(printf "%4s" "$(sysctl -n hw.cpuspeed)")"MHz |"
     20 
     21 tmp=" TMP $(sysctl -n hw.sensors.cpu0.temp0 | cut -d'.' -f1) |"
     22 
     23 if=$(ifconfig | grep '^[^       ]*:' | sed 's/:.*//')
     24 eif="em re"
     25 wif="iwx iwm iwn"
     26 for i in $if
     27 do
     28 	ii=${i%%[0-9]*}
     29 	if echo $eif | grep -q $ii; then
     30 		eth="$i"
     31 	fi
     32 	if echo $wif | grep -q $ii; then
     33 		wifi="$i"
     34 	fi
     35 done
     36 
     37 echo $eth >&2
     38 echo $wifi >&2
     39 
     40 if [ -n "$eth" ]; then
     41 	eth=$(ifconfig $eth | awk '/active/{printf "ETH "}')
     42 fi
     43 if [ -n "$wifi" ]; then
     44 	wifi=$(ifconfig $wifi | awk '
     45 		/active/{printf "WIFI "}
     46 		/no network/{printf "down:"}
     47 		/ieee80211:/{printf "%s %s\n", $3, $8}')
     48 fi
     49 nw=" $eth$wifi"
     50 
     51 printf "%s%s%s%s%s%s\n" "$date" "$volume" "$bat" "$cpu" "$tmp" "$nw"