62 lines
1.1 KiB
Bash
Executable File
62 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
dev_wifi=wlp3s0
|
|
dev_eth=enp0s25
|
|
dev_vpn=proton0
|
|
|
|
base03=#002b36
|
|
base02=#073642
|
|
base01=#586e75
|
|
base00=#657b83
|
|
base0=#839496
|
|
base1=#93a1a1
|
|
base2=#eee8d5
|
|
base3=#fdf6e3
|
|
yellow=#b58900
|
|
orange=#cb4b16
|
|
red=#dc322f
|
|
magenta=#d33682
|
|
violet=#6c71c4
|
|
blue=#268bd2
|
|
cyan=#2aa198
|
|
green=#859900
|
|
|
|
std_color=$magenta
|
|
wifi_icon=""
|
|
|
|
color=$std_color;
|
|
|
|
eth="$(ip -o address | grep -i "$dev_eth *inet ")"
|
|
if [ -n "$eth" ]
|
|
then
|
|
speed="$(cat /sys/class/net/$dev_eth/speed)"
|
|
case $speed in
|
|
10) speed="10Base-T" ;;
|
|
100) speed="100Base-T" ;;
|
|
1000) speed="Gigabit" ;;
|
|
*) speed="UNKNOWN $speed" ;;
|
|
esac
|
|
eth_status=" $speed"
|
|
fi
|
|
|
|
ssid="$(iw dev $dev_wifi link | grep -i SSID)"
|
|
if [ -n "$ssid" ]
|
|
then
|
|
signal="$(awk '/^\s*w/ { print int($3 * 100 / 70) "%" }' /proc/net/wireless)"
|
|
wifi_status="$wifi_icon ${signal} ${ssid##*SSID: }"
|
|
fi
|
|
|
|
vpn="$(ip -o address | grep -i "$dev_vpn *inet ")"
|
|
if [ -n "$vpn" ]
|
|
then
|
|
vpn_status=""
|
|
color=$green
|
|
else
|
|
vpn_status=""
|
|
fi
|
|
|
|
echo "${vpn_status} $wifi_status$eth_status"
|
|
|
|
|
|
# vim: ft=sh:expandtab:ts=4:shiftwidth=4
|