Bump Standards-Version to 3.9.2
[grml-quickconfig.git] / quickconfig / 030-wm.sh
index be376ed..81a0554 100644 (file)
@@ -1,54 +1,59 @@
 # window manager module for grml-quickconfig
-LINE='print_line "Start ${HIGHLIGHT}x${NORMAL} (${HIGHLIGHT_NAME}grml-x${NORMAL})"'
+LINE='print_line "Start ^x (/grml-x/)"'
 KEY=(x)
 FUNCTION='wm_menu'
 
 display_entry() {
-    return 0
+    . /etc/grml/script-functions
+    check4progs grml-x >/dev/null
+    return $?
 }
 
 # variable definition {{{
 typeset -A wms
 typeset -A available
-set -a output
+set -A output
 # }}}
 
 # window manager definition {{{
-wms[a]=awesome
-wms[d]=dwm
-wms[e]=evilwm
-wms[f]=fluxbox
-wms[v]=fvwm
-wms[2]=fvwm2
-wms[c]=fvwm-crystal
-wms[j]=jwm
-wms[o]=openbox
-wms[k]=pekwm
-wms[r]=ratpoison
-wms[t]=twm
-wms[9]=w9wm
-wms[w]=windowlab
-wms[i]=wmii
-wms[n]=wm-ng
+wms=(
+  a awesome
+  d dwm
+  e evilwm
+  f fluxbox
+  v fvwm
+  2 fvwm2
+  c fvwm-crystal
+  3 i3
+  j jwm
+  o openbox
+  k pekwm
+  r ratpoison
+  t twm
+  9 w9wm
+  w windowlab
+  i wmii
+  n wm-ng
+  )
 # }}}
 
 # deteremine installed window managers {{{
 print_available_wm() {
   . /etc/grml/script-functions
-  line=""
   LEN=0
+  local line
 
   for key value in ${(kv)wms} ; do
     if check4progs $value >/dev/null ; then
       available[$key]=$value
       # test if word could be added to current line
-      if [ $[${(c)#key} + $LEN] -lt $MAXLEN ] ; then
-        LEN+=${(c)#wm}
-        line+="$(highlight_char $value $key) "
-      else
+      if [ $((${(c)#value} + $LEN)) -ge $(($MAXLEN-9)) ] ; then
         LEN=0
         output+="$line"
+        line=""
       fi
+      line+="$(highlight_char $value $key) "
+      LEN=$((${(c)#value} + $LEN))
     fi
   done
   output+="$line"
@@ -68,7 +73,7 @@ wm_heading() {
 wm_menu() {
   echo
   wm_heading
-  for line in $output ; do
+  for line in ${output} ; do
     print_line $line
   done
   print_closing_line
@@ -77,7 +82,7 @@ wm_menu() {
   get_key INPUT
   case $INPUT in
     [${(k)available}])
-    run su grml -c "grml-x ${available[$INPUT]}"
+    run su grml -c "grml-x ${available[$INPUT]}"
     ;;
   esac
 }