32 lines
882 B
Bash
Executable File
32 lines
882 B
Bash
Executable File
#!/bin/sh
|
|
shift=""
|
|
|
|
reset="\033[0m"
|
|
big="\033[11m"
|
|
|
|
if ls /sys/class/net/w*/operstate 1>/dev/null 2>&1; then
|
|
for w in /sys/class/net/w*/; do
|
|
percent="$(cat /proc/net/wireless | grep "$(basename "$(dirname $w/operstate)")" | tr -s ' ' | cut -d ' ' -f3 | tr -dc "[:digit:]")"
|
|
grep -vxq '0x1003' "$w/flags" && wifi_icon="" || wifi_icon="$(sed "s/up/直/;s/down/睊/;s/dormant/睊/" $w/operstate | tr -d "[:space:]")"
|
|
printf "%b" "$shift$big$wifi_icon$reset $percent"
|
|
shift=" "
|
|
done
|
|
fi
|
|
|
|
if ls /sys/class/net/e*/operstate 1>/dev/null 2>&1; then
|
|
for e in /sys/class/net/e*/operstate; do
|
|
if_icon="$(sed "s/down//;s/up//" $e)"
|
|
printf "%b" "$shift$big$if_icon$reset"
|
|
shift=" "
|
|
done
|
|
fi
|
|
|
|
if ls /sys/class/net/tun*/operstate 1>/dev/null 2>&1; then
|
|
for _ in /sys/class/net/tun*/operstate; do
|
|
printf "%b" "$shift$big嬨$reset"
|
|
shift=" "
|
|
done
|
|
fi
|
|
|
|
printf "%b" "\n"
|