Topic: Need help fixing (creating) a script for Dwmblocks
Hi all .
Please tell me how to correctly connect the scripts (each of them works correctly, attached below)
so that I have one script that shows this information in the bar:
[ 60% 192.168.0.1 ]
# Shows wifi and percent strength as well as local ip and vpn is not active
[ 192.168.0.1 ]
# Same thing but with ethernet
[ 60% 10.10.0.1 ]
# Shows wifi and percent strength, as well as public ip and vpn is active
[ 192.168.0.1 ]
# Same thing but with ethernet
[睊 ]
# When there is no wifi or ethernet connection, the bar should display these icons.
I hope the icons are displayed correctly. I used "awesome" icons
ip_local
#=============#
ip="$(ip a | grep .255 | grep -v wlp | cut -d' ' -f6 | sed 's/\/24//')"
echo $ip
ip_public
#=============#
#PREFIX=' '
get_pub_ip()
{
# echo "$PREFIX$(curl -s ifconfig.co)"
echo "$PREFIX$(wget -qO - ident.me)"
}
get_pub_ip
network_status
#=============#
network() {
wire="$(ip a | grep 'eth0\|enp' | grep inet | wc -l)"
wifi="$(ip a | grep wl | grep inet | wc -l)"
if [ $wire = 1 ]; then
echo " "
elif [ $wifi = 1 ]; then
echo " "
else
echo "睊"
fi
}
echo "$(network)"
wifi_signal_indicator
#=====================#
# Show wifi and percent strength or if none.
# Show if connected to ethernet or if none.
# Show if a vpn connection is active
case $BLOCK_BUTTON in
1) "$TERMINAL" -e nmtui; pkill -RTMIN+4 dwmblocks ;;
3) notify-send "🌐 Internet module" "\- Click to connect
睊: wifi disabled
: no wifi connection
: wifi connection with quality
: no ethernet
: ethernet working
: vpn is active
" ;;
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
esac
if grep -xq 'up' /sys/class/net/w*/operstate 2>/dev/null ; then
wifiicon="$(awk '/^\s*w/ { print " ", int($3 * 100 / 70) "% " }' /proc/net/wireless)"
elif grep -xq 'down' /sys/class/net/w*/operstate 2>/dev/null ; then
grep -xq '0x1003' /sys/class/net/w*/flags && wifiicon="睊"|| wifiicon="睊"
fi
printf "[%s%s%s]\n" "$wifiicon" "$(sed "s/down/ /;s/up/ /" /sys/class/net/e*/operstate 2>/dev/null)" "$(sed "s/.*/ /" /sys/class/net/tun*/operstate 2>/dev/null)"