summaryrefslogtreecommitdiff
path: root/sb-internet
blob: 378cccb7595802d3b8e46ac4f3f998efae609acd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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"