#!/bin/sh #modify from dwm-bar #origin source:https://github.com/joestandring/dwm-bar count=0 INTERFACE=$(ip addr|grep UP|grep -v lo|awk -F: '{print $2}'|awk '$1=$1'|head -n 1) dwm_loadavg() { printf " | %s ]" "$(cut -d " " -f 1,2,3 /proc/loadavg)" } dwm_tor() { NUM=$(ss -tunp|grep -E "127.0.0.1:9150|127.0.0.1:9050|127.0.0.1:9151"|wc -l) if [ $NUM -ne 0 ]; then printf "[ TOR:ON ]" else printf "[ TOR:OFF ]" fi } dwm_storage() { DATA=$(free -h | awk '(NR==2){ print $3"/"$4 }') printf "[ MEM:%s ]" ${DATA} } dwm_upspeed(){ T1=$(cat /sys/class/net/${INTERFACE}/statistics/tx_bytes) sleep 1 T2=$(cat /sys/class/net/${INTERFACE}/statistics/tx_bytes) TBPS=$(expr $T2 - $T1) TKBPS=$(expr $TBPS / 1024) printf "[ ↑${TKBPS}Kb" } dwm_downspeed() { R1=$(cat /sys/class/net/${INTERFACE}/statistics/rx_bytes) sleep 1 R2=$(cat /sys/class/net/${INTERFACE}/statistics/rx_bytes) RBPS=$(expr $R2 - $R1) RKBPS=$(expr $RBPS / 1024) printf "|↓${RKBPS}Kb ]" } dwm_dns() { STATUS=$(cat /etc/resolv.conf|grep '127.0.0.1'|wc -l) if [ ${STATUS} == 1 ];then printf "[ SDNS|ON ]" else printf "[ SDNS|OFF ]" fi } dwm_alsa() { STATUS=$(amixer sget Master | tail -n1 | sed -r "s/.*\[(.*)\]/\1/") VOL=$(amixer get Master | tail -n1 | sed -r "s/.*\[(.*)%\].*/\1/") printf "[ VOL:%s|%s ]" ${VOL} ${STATUS^^} } dwm_tasks() { printf "[ TASKS:%s ]" $(ps aux|wc -l) } dwm_date() { printf "[ %s %s %s ]" $(date "+%A %Y-%m-%d %H:%M") } dwm_weather() { DATA=$(curl --max-time 5 -H "Accept-Language: zh" wttr.in/France?format=%C+%f) if [ ${?} == 0 ];then export __DWM_BAR_WEATHER__="[ ${DATA} ]" elif [ ${__DWM_BAR_WEATHER__} == "" ];then export __DWM_BAR_WEATHER__="" fi } cputemp(){ t=$(cat /sys/class/thermal/thermal_zone0/temp|cut -b -2)°C printf "[ CPU:%s ]" ${t} } dwm_weather while true; do if [[ $count < 360 ]] then count=$((${count}+1)) else dwm_weather count=0 fi lowerbar="" lowerbar="$lowerbar$(dwm_date)" lowerbar="$lowerbar$(cputemp)" lowerbar="$lowerbar$(dwm_storage)" lowerbar="$lowerbar$(dwm_upspeed)" lowerbar="$lowerbar$(dwm_downspeed)" lowerbar="$lowerbar${__DWM_BAR_WEATHER__}" lowerbar="$lowerbar$(dwm_alsa)" lowerbar="$lowerbar$(dwm_tor)" lowerbar="$lowerbar$(dwm_dns)" xsetroot -name "$lowerbar" sleep 1 done