desktop-utils/eww/scripts/network.sh
2025-01-13 23:38:11 +01:00

43 lines
810 B
Bash
Executable file

#!/usr/bin/env bash
ethernet() {
name="Wired"
image="ethernet"
}
wifi() {
wifiInfo=$(nmcli -t -f active,ssid,signal device wifi list)
signalStrength=$(awk -F: '/yes:/ {print $3}' <<< $wifiInfo)
name=$(awk -F: '/yes:/ {print $2}' <<< $wifiInfo)
if [[ $signalStrength -ge 70 ]]; then
image="wifiHigh"
elif [[ $signalStrength -ge 60 ]]; then
image="wifiMedium"
elif [[ $signalStrength -ge 40 ]]; then
image="wifiLow"
else
image="wifiVeryLow"
fi
}
while true; do
name="No Connection"
image="n.A."
networkInfo=$(nmcli -f NAME,TYPE connection show --active | awk '!/loopback/ && NR > 1')
if [[ $(awk '/wifi/' <<< "$networkInfo") ]]; then
wifi
fi
if [[ $(awk '/ethernet/' <<< "$networkInfo") ]]; then
ethernet
fi
echo '{"name":"'"$name"'","image":"'"$image"'"}'
sleep 2
done