From 1b264412e4c8fb628d3012e1169da1660d56f652 Mon Sep 17 00:00:00 2001 From: Tobias Powalowski Date: Thu, 27 Jun 2024 15:00:46 +0200 Subject: [PATCH] update iw listing --- usr/bin/archboot-network.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/usr/bin/archboot-network.sh b/usr/bin/archboot-network.sh index 12750c07e..6e7380bb3 100755 --- a/usr/bin/archboot-network.sh +++ b/usr/bin/archboot-network.sh @@ -36,12 +36,21 @@ _essid_scan() { done } +_essid_list() { + # only show lines with signal '*' + # kill spaces from the end and replace spaces with + between + # '+' character is one of 6 forbidden characters in SSID standard + for dev in $(iwctl station "${_INTERFACE}" get-networks | rg -o ' {6}(.{34}).*\*' -r '$1' | sd ' *$' ''); do + echo "\"${dev}\"" + [[ "${1}" ]] && echo "${1}" + done +} + _wireless() { _WLAN_HIDDEN="" _WLAN_SSID="" _WLAN_KEY="" _WLAN_AUTH="" - # unblock all interfaces! rfkill unblock all # disconnect the interface first! @@ -54,9 +63,7 @@ _wireless() { _essid_scan | _dialog --title " Network Configuration " --no-mouse --gauge "Scanning 5 second(s) for SSIDs with interface ${_INTERFACE}..." 6 60 #shellcheck disable=SC2086,SC2046 if _dialog --cancel-label "${_LABEL}" --title " SSID Scan Result " --menu "Empty spaces in your SSID are replaced by '+' char" 13 60 6 \ - "RESCAN" "SSIDs" "HIDDEN" "SSID" \ - $(iwctl station "${_INTERFACE}" get-networks |\ - rg -o ' {6}(.{34}).*\*' -r '"$1' | sd ' *$' '" _\n') 2>"${_ANSWER}"; then + "RESCAN" "SSIDs" "HIDDEN" "SSID" $(_essid_list _) 2>"${_ANSWER}"; then _WLAN_SSID=$(cat "${_ANSWER}") _CONTINUE=1 if rg -q 'RESCAN' "${_ANSWER}"; then