summaryrefslogtreecommitdiff
path: root/ar/.local/bin/statusbar/sb-internet
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-01-24 20:35:27 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-01-24 20:35:27 +0900
commitc80a54e42b52ce297f0f2f71af23c562832025c7 (patch)
treedcce8bb977a770f473325d48f6f70b21d9818a40 /ar/.local/bin/statusbar/sb-internet
init
Diffstat (limited to 'ar/.local/bin/statusbar/sb-internet')
-rwxr-xr-xar/.local/bin/statusbar/sb-internet42
1 files changed, 42 insertions, 0 deletions
diff --git a/ar/.local/bin/statusbar/sb-internet b/ar/.local/bin/statusbar/sb-internet
new file mode 100755
index 0000000..3d4ff4e
--- /dev/null
+++ b/ar/.local/bin/statusbar/sb-internet
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Show wifi 🛜 and percent strength or 📡 if none.
+# Show 🌐 if connected to ethernet or ❎ if none.
+# Show 🛰️ if a vpn connection is active
+
+case $BLOCK_BUTTON in
+1)
+ "$TERMINAL" -e nmtui
+ pkill -RTMIN+7 dwmblocks
+ ;;
+3) notify-send "🌐 Internet module" "\- Left click to connect
+❌: wifi disabled
+📡: no wifi connection
+🛜: wifi connection with quality
+❎: no ethernet
+🌐: ethernet working
+🛰️: vpn is active
+" ;;
+6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;;
+esac
+
+# Wifi
+if [ "$(cat /sys/class/net/w*/operstate 2>/dev/null)" = 'up' ]; then
+ wifiicon="$(awk '/^\s*w/ { print "🛜" int($3 * 100 / 70) "%" }' /proc/net/wireless)"
+elif [ "$(cat /sys/class/net/w*/operstate 2>/dev/null)" = 'down' ]; then
+ [ "$(cat /sys/class/net/w*/flags 2>/dev/null)" = '0x1003' ] && wifiicon="📡" || wifiicon="❌"
+fi
+
+# Ethernet
+[ "$(cat /sys/class/net/e*/operstate 2>/dev/null)" = 'up' ] && ethericon="🌐" || ethericon="❎"
+
+# TUN
+[ -n "$(cat /sys/class/net/tun*/operstate 2>/dev/null)" ] && tunicon=" 🛰️"
+
+if [ "$(cat /sys/class/net/w*/operstate 2>/dev/null)" = 'up' ] && [ ! "$(cat /sys/class/net/e*/operstate 2>/dev/null)" = 'up' ]; then
+ printf "%s%s\n" "$wifiicon" "$tunicon"
+elif [ ! "$(cat /sys/class/net/w*/operstate 2>/dev/null)" = 'up' ] && [ "$(cat /sys/class/net/e*/operstate 2>/dev/null)" = 'up' ]; then
+ printf "%s%s\n" "$ethericon" "$tunicon"
+else
+ printf "%s%s%s\n" "$wifiicon" " $ethericon" "$tunicon"
+fi