summaryrefslogtreecommitdiff
path: root/.config/wmii-hg/rbar_wifi
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@datawire.io>2020-04-18 14:49:06 -0400
committerLuke Shumaker <lukeshu@datawire.io>2020-04-18 14:49:06 -0400
commit1a332553c19193deac598aa6a1fe9f086d525ee1 (patch)
treec778f4c628216a8189b4581d7b26404c55144d17 /.config/wmii-hg/rbar_wifi
parent3c656badac2f6ed20849efff047e7a15cbd3288a (diff)
x
Diffstat (limited to '.config/wmii-hg/rbar_wifi')
-rwxr-xr-x.config/wmii-hg/rbar_wifi31
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[@]}")