#!/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"