#!/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 togglevpn() { if [ ! -n "$(cat /sys/class/net/libre/operstate 2>/dev/null)" ];then reloadsingbox notify-send "  Internet module" "Connected to VPN" else killall sing-box notify-send "  Internet module" "Disconnected from VPN" fi } case $BLOCK_BUTTON in 1) togglevpn 2>/dev/null ;; 3) notify-send " Internet module" "\- Click to enable/disable VPN  : wifi disabled 󰤮 : no wifi connection 󰤨 : wifi connection with quality 󱘖 : no ethernet  : ethernet working  : vpn is active " ;; 8) 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="󱘖 " # VPN (change libre to your tun interface name) [ -n "$(cat /sys/class/net/libre/operstate 2>/dev/null)" ] && tunicon="  " printf "%s%s%s\n" "$wifiicon" "$ethericon" "$tunicon"