]> git.tuebingen.mpg.de Git - gsu.git/blobdiff - misc/gsu/gui
gsu: Don't fail if HOME is unset.
[gsu.git] / misc / gsu / gui
index 5b108e1ad4521d74ec5a8b6a16c061484c8a0cef..eb9f29f37c9e1d7aef03c96f08b4838285931f1a 100644 (file)
@@ -1,13 +1,13 @@
 #!/bin/bash
 
 if [[ $(type -t gsu_is_a_number) != "function" ]]; then
-       GSU_DIR=${GSU_DIR:=$HOME/.gsu}
+       GSU_DIR=${GSU_DIR:=${HOME:-}/.gsu}
        . $GSU_DIR/common || exit 1
 fi
 
 export GSU_NODE_NAME_PATTERN='[a-zA-Z_]'
 
-get_geometry()
+_get_geometry()
 {
        local x y
        result="$(stty size)"
@@ -23,7 +23,7 @@ get_geometry()
 
 gsu_infobox()
 {
-       get_geometry
+       _get_geometry
        dialog --infobox "$1" $result
 }
 
@@ -33,7 +33,7 @@ gsu_checklist_all_on()
        local items="$2"
        local i state opts num=0
 
-       get_geometry
+       _get_geometry
        ops="$result 16"
        for i in $items; do
                let num++
@@ -50,7 +50,7 @@ gsu_radiolist()
        local items="$3"
        local i state ops num=0
 
-       get_geometry
+       _get_geometry
        ops="$result 16"
        for i in $items; do
                let num++
@@ -69,7 +69,7 @@ gsu_inputbox()
 {
        local g text="$1" init="$2"
 
-       get_geometry
+       _get_geometry
        g="$result"
        result="$(dialog --inputbox "$text" $g "$init" 3>&1 1>&2 2>&3 3>&-)"
        ret="$?"
@@ -79,7 +79,7 @@ gsu_textbox()
 {
        local file="$1"
 
-       get_geometry
+       _get_geometry
        dialog --textbox "$file" $result
 }
 
@@ -115,7 +115,7 @@ gsu_yesno()
 {
        local text="$1"
 
-       get_geometry
+       _get_geometry
        dialog --yesno "$text" $result
        ret=$?
        if (($ret == 0)); then
@@ -133,13 +133,13 @@ gsu_menu()
        local items="$2"
        local i state opts num=0
 
-       get_geometry
+       _get_geometry
        opts="$result 16"
        for i in $items; do
                let num++
                opts+=" $i $num"
        done
-       result="$(dialog --menu "$header" $opts 3>&1 1>&2 2>&3 3>&-)"
+       result="$(dialog --menu "$gsu_banner_txt ($header)" $opts 3>&1 1>&2 2>&3 3>&-)"
        ret="$?"
 }
 
@@ -154,7 +154,7 @@ _get_subtree()
        local tree="$1" root="${2%/}"
        local TAB='     '
 
-       first="$(grep -n "$root/" <<< "$tree")"
+       first="$(grep -n "$TAB\{1,\}$root/" <<< "$tree")"
        [[ -z "$first" ]] && return
 
        line_num="${first%%:*}"
@@ -208,5 +208,5 @@ gsu_gui()
        fi
        _get_root_nodes "$tree"
        subtree="$result"
-       _browse "$gsu_name main menu" "$tree" "$subtree"
+       _browse "main menu" "$tree" "$subtree"
 }