diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-01-24 20:35:27 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-01-24 20:35:27 +0900 |
| commit | c80a54e42b52ce297f0f2f71af23c562832025c7 (patch) | |
| tree | dcce8bb977a770f473325d48f6f70b21d9818a40 /ar/.local/bin/statusbar/sb-internet | |
init
Diffstat (limited to 'ar/.local/bin/statusbar/sb-internet')
| -rwxr-xr-x | ar/.local/bin/statusbar/sb-internet | 42 |
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 |
