summaryrefslogtreecommitdiff
path: root/sb-internet
diff options
context:
space:
mode:
Diffstat (limited to 'sb-internet')
-rwxr-xr-xsb-internet41
1 files changed, 41 insertions, 0 deletions
diff --git a/sb-internet b/sb-internet
new file mode 100755
index 0000000..378cccb
--- /dev/null
+++ b/sb-internet
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+case $BLOCK_BUTTON in
+ 1) setsid -f "$TERMINAL" -e nmtui >/dev/null 2>&1 ; pkill -RTMIN+4 waybar ;;
+ 3) notify-send " Internet module" "\- Click to connect
+󰤮 : wifi disabled
+󰤮 : no wifi connection
+󰤨 : wifi connection with quality
+ : no ethernet
+ : ethernet working
+󰑪 : vpn is active (routing)
+󰖂 : vpn is active
+ " ;;
+ 8) setsid -f "$TERMINAL" -e "$EDITOR" "$0" >/dev/null 2>&1 ;;
+esac
+
+# Wifi
+if [ "$(bat /sys/class/net/w*/operstate 2>/dev/null)" = 'up' ] ; then
+ quality=$(awk '/^\s*w/ { print int($3 * 100 / 70) }' /proc/net/wireless)
+
+ case 1 in
+ $((quality >= 76)) ) wifiicon="󰤨" ;;
+ $((quality >= 51)) ) wifiicon="󰤥" ;;
+ $((quality >= 26)) ) wifiicon="󰤢" ;;
+ $((quality >= 1)) ) wifiicon="󰤟" ;;
+ * ) wifiicon="󰤮" ;;
+ esac
+ wifiicon="$wifiicon$quality% "
+
+elif [ "$(bat /sys/class/net/w*/operstate 2>/dev/null)" = 'down' ] ; then
+ [ "$(bat /sys/class/net/w*/flags 2>/dev/null)" = '0x1003' ] && wifiicon="󰤮 " || wifiicon="󰤮 "
+fi
+
+# Ethernet
+[ "$(bat /sys/class/net/e*/operstate 2>/dev/null)" = 'up' ] && ethericon="" || ethericon=""
+
+# TUN
+[ -n "$(bat /sys/class/net/tun*/operstate 2>/dev/null)" ] && tunicon=" 󰖂"
+[ -n "$(bat /sys/class/net/route*/operstate 2>/dev/null)" ] && tunicon=" 󰑪"
+
+printf "%s%s%s\n" "$wifiicon" "$ethericon" "$tunicon"