#!/bin/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