From 035321fe60cafc5d0481f6e06608527d4d9c67a6 Mon Sep 17 00:00:00 2001 From: katherine Date: Wed, 3 Feb 2016 02:57:28 -0700 Subject: switcher.sh: cleaner implementation --- .config/herbstluftwm/switcher.sh | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to '.config/herbstluftwm') diff --git a/.config/herbstluftwm/switcher.sh b/.config/herbstluftwm/switcher.sh index 8ac60d1..b37ce9e 100755 --- a/.config/herbstluftwm/switcher.sh +++ b/.config/herbstluftwm/switcher.sh @@ -2,13 +2,20 @@ source ~/.config/init/vars -list=$(wmctrl -l) -IFS=$'\r\n' nums=($(echo $list | cut -d ' ' -f 1)) -choice=$(echo $list | cut -d ' ' -f 5- | nl -w 2 -s ") " | \ - dmenu -fn $efont -i -h $bheight -nb $bg_normal -nf $fg_normal \ - -sb $bg_focus -sf $fg_focus -p "Select:" -l 40 | \ - cut -d ')' -f 1) - -if [ $choice ]; then - herbstclient jumpto ${nums[$choice]} -fi +typeset -i choice +nums=() +lines="" +while read -rA line; do + nums=( "${nums[@]}" "${line[1]}" ) + if [[ -z "$lines" ]]; then + lines="${line[@]:3}" + else + lines="${lines}\n${line[@]:3}" + fi +done < <(wmctrl -l) + +echo -e "$lines" | nl -w 2 -s ") " | dmenu -fn $efont -i -h $bheight \ + -nb $bg_normal -nf $fg_normal -sb $bg_focus -sf $fg_focus \ + -p "Select:" -l 40 | cut -d ')' -f 1 | {read choice} + +herbstclient jumpto "${nums[$choice]}" -- cgit v1.2.3