#!/usr/bin/env sh netstatus="$(awk '{ n = split(FILENAME, a, "/") printf("%-15s %s\n", a[n-1], $1) }' /sys/class/net/[ew]*/operstate | sort -k 2)" function add_connected_address() { TMPIFS=$IFS IFS=' ' for line in $netstatus; do device=$(echo $line | awk '{print $1}') address=$(ip addr show $device | sed -En 's/inet ([0-9\.]+).*/\1/p') # Append Wifi AP if connected [ -n "$address" ] && address=$address" ("$(iwgetid -r)")" echo $line $address done IFS=$TMPIFS } ARG=${1:-$BLOCK_BUTTON} case $ARG in 1) notify-send --urgency=low "Internet connection" "$(add_connected_address)" ;; esac if [ -z "$(echo -e "${netstatus}" | sed -En '/up$/p' | tr -d '\n')" ]; then echo -en '\x0c' else echo -n "${netstatus}" | sed -En 's/^(w[^ ]+).*up//p;s/^(e[^ ]+).*up/\x0d/p' fi echo -en '\x0b'