diff options
Diffstat (limited to 'sb-internet')
-rwxr-xr-x | sb-internet | 41 |
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" |