blob: 689e3a25521bed40942708d79667bbe2891bfc31 (
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
|
#!/bin/sh
# i3block for the displaying the wifi connectivity level
# If the wifi interface exists but no connection is active, "down" shall be displayed.
case "$BLOCK_BUTTON" in
1) $TERMINAL -e nmtui ;;
2) $TERMINAL -e nvim "$0" ;;
3) $TERMINAL -e nethogs ;;
# 3) echo "nethogs,$TERMINAL -e nethogs
# bmon,$TERMINAL -e bmon
# nmtui, $TERMINAL -e nmtui" | jgmenu --vsimple --at-pointer ;;
esac
iface="$(find /sys/class/net/ -maxdepth 1 -name "w*" -printf "%f\n")"
if [ "$(cat "/sys/class/net/$iface/operstate")" = 'down' ]; then
icon=""; quality="down"; color="$BLOCK_COLOR_LEVEL5"
else
quality=$(grep "$iface" /proc/net/wireless | awk '{ print int($3 * 100 / 70) }')
if [ "$quality" = 100 ]; then
icon=""; color="$BLOCK_COLOR_LEVEL1"
elif [ "$quality" -ge 80 ]; then
icon=""; color="$BLOCK_COLOR_LEVEL1"
elif [ "$quality" -ge 60 ]; then
icon=""; color="$BLOCK_COLOR_LEVEL2"
elif [ "$quality" -ge 40 ]; then
icon=""; color="$BLOCK_COLOR_LEVEL3"
elif [ "$quality" -ge 20 ]; then
icon=""; color="$BLOCK_COLOR_LEVEL4"
else
icon=""; color="$BLOCK_COLOR_LEVEL5"
fi
[ -n "$quality" ] && quality="$quality%"
fi
echo "$icon $quality"
echo
echo "$color"
|