summaryrefslogtreecommitdiff
path: root/.local/bin/statusbar/netinfo
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2021-06-03 21:33:31 +0000
committer0scar <qgt268@alumni.ku.dk>2021-06-03 21:33:31 +0000
commit6e4a15d79352ca2707a3b0d81d158228a7d14704 (patch)
treea526da4169c76175f1e528534d67772bc13dfabb /.local/bin/statusbar/netinfo
parenta38dc1a774d012b2da71716365d1d254b650dd48 (diff)
Add/move statusbar scripts
Diffstat (limited to '.local/bin/statusbar/netinfo')
-rwxr-xr-x.local/bin/statusbar/netinfo34
1 files changed, 34 insertions, 0 deletions
diff --git a/.local/bin/statusbar/netinfo b/.local/bin/statusbar/netinfo
new file mode 100755
index 0000000..d59ef05
--- /dev/null
+++ b/.local/bin/statusbar/netinfo
@@ -0,0 +1,34 @@
+#!/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'