tarch-configs/configs/bspwm/rofi/bin/network
Andrey Zimin 1b1b70daed add nvim
2024-03-10 13:30:59 +03:00

67 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
DIR="$HOME/.config/bspwm"
rofi_command="rofi -theme $DIR/rofi/themes/network.rasi"
# Get info #
IFACE="$(nmcli | grep -i interface | awk '/interface/ {print $2}')"
SSID="$(iwgetid -r)"
LIP="$(nmcli | grep -i server | awk '/server/ {print $2}')"
PIP="$(dig +short myip.opendns.com @resolver1.opendns.com )"
STATUS="$(nmcli radio wifi)"
active=""
urgent=""
if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then
if [[ $STATUS == *"enable"* ]]; then
if [[ $IFACE == e* ]]; then
connected=""
else
connected=""
fi
active="-a 0"
SSID="$(iwgetid -r)"
PIP="$(wget --timeout=30 http://ipinfo.io/ip -qO -)"
fi
else
urgent="-u 0"
SSID="Disconnected"
PIP="NA"
connected=""
fi
# Icons #
bmon=""
launch_cli=""
launch=""
options="$connected\n$bmon\n$launch_cli\n$launch"
# Main #
chosen="$(echo -e "$options" | $rofi_command -p "$SSID : $PIP" -dmenu $active $urgent -selected-row 1)"
case $chosen in
$connected)
if [[ $STATUS == *"enable"* ]]; then
nmcli radio wifi off
else
nmcli radio wifi on
fi
;;
$bmon)
alacritty --class 'alacritty-float,alacritty-float' --config-file ~/.config/bspwm/alacritty/alacritty.toml -e bmon
;;
$launch_cli)
alacritty --class 'alacritty-float,alacritty-float' --config-file ~/.config/bspwm/alacritty/alacritty.toml -e nmtui
;;
$launch)
nm-connection-editor
;;
esac