summaryrefslogtreecommitdiff
path: root/.scripts/netinfo
diff options
context:
space:
mode:
Diffstat (limited to '.scripts/netinfo')
-rwxr-xr-x.scripts/netinfo34
1 files changed, 34 insertions, 0 deletions
diff --git a/.scripts/netinfo b/.scripts/netinfo
new file mode 100755
index 0000000..92dd78c
--- /dev/null
+++ b/.scripts/netinfo
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+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
+}
+
+case $BLOCK_BUTTON in
+ 3) notify-send "Internet connection" "$(add_connected_address)" ;;
+esac
+
+#echo "$(echo -e "$netstatus" | sed -En '/up$/p')"
+#echo ======
+
+if [ -z "$(echo -e "${netstatus}" | sed -En '/up$/p' | tr -d '\n')" ]; then
+ echo -n ''
+else
+ echo -n "${netstatus}" | sed -En 's/^(w[^ ]+).*up//p;s/^(e[^ ]+).*up//p'
+fi
+