From 216aa488d3b33b8d6ddc039643d1bd58871041aa Mon Sep 17 00:00:00 2001 From: Adrian Amaglio Date: Fri, 25 Feb 2022 13:34:57 +0100 Subject: [PATCH] Nicer wifi script --- wifi_chooser | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/wifi_chooser b/wifi_chooser index 5ac8bb1..5de0224 100755 --- a/wifi_chooser +++ b/wifi_chooser @@ -22,12 +22,17 @@ fi notify "Scanning networks in range..." nmcli device wifi rescan -ssid=$(nmcli -f IN-USE,SSID,BARS d wifi list | dmenu -l 8 | tr -s '*' ' ' | rev | cut -d ' ' -f 3- | rev | cut -d ' ' -f 2-) +ssid="$(nmcli -f IN-USE,SSID,BARS d wifi list | dmenu -l 8)" +ssid="$(echo "${ssid:2:-5}" | sed 's/^ *//g' | sed 's/ *$//g')" -[ $verb -gt 0 ] && echo ssid: $ssid +# We get a clean version of SSIDs. It is a fix to connect to wifis that begin or end with spaces +ssid="$(nmcli -f SSID -m multiline -t -c no d wifi list | grep -F "$ssid")" +ssid="${ssid:5}" + +[ $verb -gt 0 ] && echo "ssid: $ssid" [ -z "$ssid" ] && notify "No SSID selected" && exit 1 notify "Connecting to $ssid" -out="$(nmcli d wifi connect "$ssid" | grep -i error)" +out="$(nmcli d wifi connect "$ssid" 2>&1 | grep -i error)" res="$?" -[ "$res" -ne 0 ] && notify "Connected :)" || notify "Error connecting :(\n$out" +[ -z "$out" ] && notify "Connected :)" || notify "Error connecting :(\n$out"