@@ -25,6 +25,7 @@ menuHeadingFGClr="$clrWhite"
2525menuHeadingBGClr=" $clrBlue "
2626submenuFGClr=" $clrCyan "
2727submenuBGClr=" $clrBlack "
28+ delimiter=⊕
2829
2930# ###########################
3031# ###########################
@@ -75,7 +76,7 @@ submenuHead () {
7576# Prints the menu item to standard out.
7677# ################################################
7778menuItem () {
78- menudatamap+=(" $1 # $2 # $3 # $ actualsubmenuname# $ actualmenu#1 " )
79+ menudatamap+=(" $1 $delimiter $2 $delimiter $3 $delimiter$ actualsubmenuname$delimiter$ actualmenu$delimiter1 " )
7980 ${immediateMode} && printMenuItem " $1 " " $2 "
8081}
8182
@@ -101,8 +102,8 @@ menuItem () {
101102# ################################################
102103menuItemClm () {
103104 clmLocalWidth=${globalClmWidth:= 45}
104- menudatamap+=(" $1 # $2 # $3 # $ actualsubmenuname# $ actualmenu#1 " )
105- menudatamap+=(" $4 # $5 # $6 # $ actualsubmenuname# $ actualmenu#2 " )
105+ menudatamap+=(" $1 $delimiter $2 $delimiter $3 $delimiter$ actualsubmenuname$delimiter$ actualmenu$delimiter1 " )
106+ menudatamap+=(" $4 $delimiter $5 $delimiter $6 $delimiter$ actualsubmenuname$delimiter$ actualmenu$delimiter2 " )
106107 ${immediateMode} && printMenuItemClm " $1 " " $2 " " $4 " " $5 "
107108}
108109
@@ -396,18 +397,19 @@ waitonexit () {
396397# The executed user defined function or command
397398# ################################################
398399callKeyFunktion () {
400+ OLD_IFS=$IFS
399401 for i in " ${menudatamap[@]} "
400402 do
401- keys2= $( echo " $i " | cut -d ' # ' -f1 )
402- if [ " $1 " = " $keys2 " ]
403+ IFS= " $delimiter " read -r key description action submenu menu column <<< " $i "
404+ if [ " $1 " = " $key " ]
403405 then
404- method=$( echo " $i " | cut -f3 -d#)
405- clear && importantLog " $method "
406- eval " $method "
406+ clear && importantLog " $action "
407+ eval " $action "
407408 return 1
408409 fi
409410 done
410411 return 5
412+ IFS=$OLD_IFS
411413}
412414
413415# ################################################
@@ -423,8 +425,8 @@ generateMenu () {
423425 submenucount=0
424426 clear
425427 for (( index= 0 ; index< ${# menudatamap[@]} ; index++ )) ; do
426- IFS=" # " read -r key description action submenu menu column <<< " ${menudatamap[index]}"
427- IFS=" # " read -r nextkey nextdescription nextaction nextsubmenu nextmenu nextcolumn <<< " ${menudatamap[((index+1))]}"
428+ IFS=" $delimiter " read -r key description action submenu menu column <<< " ${menudatamap[index]}"
429+ IFS=" $delimiter " read -r nextkey nextdescription nextaction nextsubmenu nextmenu nextcolumn <<< " ${menudatamap[((index+1))]}"
428430 if [ " $index " -eq " 0" ]; then printMenuHeading " $menu " && echo ; fi
429431 if [ " $submenu " != " $previoussubmenu " ]; then
430432 if [ " $submenucount " -gt 0 ]; then echo ; fi
0 commit comments