diff options
author | Luke Shumaker <lukeshu@datawire.io> | 2020-04-18 14:49:06 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@datawire.io> | 2020-04-18 14:49:06 -0400 |
commit | 1a332553c19193deac598aa6a1fe9f086d525ee1 (patch) | |
tree | c778f4c628216a8189b4581d7b26404c55144d17 /.config/wmii-hg/rbar_wifi | |
parent | 3c656badac2f6ed20849efff047e7a15cbd3288a (diff) |
x
Diffstat (limited to '.config/wmii-hg/rbar_wifi')
-rwxr-xr-x | .config/wmii-hg/rbar_wifi | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/.config/wmii-hg/rbar_wifi b/.config/wmii-hg/rbar_wifi index c77efa5..48ea06c 100755 --- a/.config/wmii-hg/rbar_wifi +++ b/.config/wmii-hg/rbar_wifi @@ -53,20 +53,31 @@ update() { } right-click() { - local list cur item + local list + mapfile -t list < <({ netctl-auto list | sort -k1.2; printf '> %s\n' 'New Network' 'Disable All' 'Enable All';} | sed 's,$,$,' | column -s '$' -t) - list=() - IFS='' - while read -r line; do - list+=("$line") - done < <({ netctl-auto list | sort -k1.2; printf '> %s\n' 'New Network' 'Disable All' 'Enable All';} | sed 's,$,$,' | column -s '$' -t) - - cur='' + local cur='' + local any_enabled=false + local item_enable_all='' + local item_new_network='' + local item for item in "${list[@]}"; do - if [[ "$item" = '* '* ]]; then - cur="$item" + case "$item" in + '* '*) cur="$item";; + '> New Network'*) item_new_network=$item;; + '> Enable All'*) item_enable_all=$item;; + esac + if [[ "$item" != '! '* ]] && [[ "$item" != '> '* ]]; then + any_enabled=true fi done + if [[ -z $cur ]]; then + if $any_enabled; then + cur=$item_new_network + else + cur=$item_enable_all + fi + fi IFS=$' \t\n' item=$(wmii9menu -i "$cur" "${list[@]}") |