Live Scan Grub Menu lsgm.rwx.work
at dev 86 lines 1.8 kB view raw
1function menu { 2 if [ "${1}" ] ; then 3 menu_load "${1}" 4 else 5 export menu 6 menu_load "${menu}" 7 fi 8} 9 10function menu_color { 11 setparams \ 12 'black' 'blue' 'green' 'cyan' \ 13 'red' 'magenta' 'brown' 'light-gray' \ 14 'dark-gray' 'light-blue' 'light-green' 'light-cyan' \ 15 'light-red' 'light-magenta' 'yellow' 'white' 16 for color in "${@}" ; do 17 menu_item "${color}" 18 done 19 unset color 20} 21 22function menu_exit { 23 env save 24 menu 25} 26 27function menu_init { 28 if [ "${menu}" ] ; then 29 if [ "${1}" ] ; then 30 menuentry "${menu}${1}" { nop } 31 else 32 menuentry "${menu}" { nop } 33 fi 34 menu_split 35 default=2 36 if env_get "${menu}" ; then 37 default="_${get}" 38 unset get 39 fi 40 fi 41} 42 43function menu_item { 44 if [ "${1}" ] ; then 45 if [ "${2}" ] ; then 46 entry="${2}" 47 else 48 entry="${1}" 49 fi 50 menuentry "${entry}" "${1}" "${menu}" --id "_${1}" { 51 ${3}="${2}" 52 menu_exit 53 } 54 unset entry 55 fi 56} 57 58function menu_load { 59 menu="${1}" 60 export menu 61 configfile "${live}/menu/${menu}.sh" 62} 63 64function menu_split { 65 if [ "${1}" ] ; then 66 menuentry '' --id "${1}" { nop } 67 else 68 menuentry '' { nop } 69 fi 70} 71 72function menu_swap { 73 if [ "${4}" ] ; then 74 menuentry "${1}" "${2}" "${3}" "${4}" { 75 if env_get "${2}" ; then 76 if [ "${get}" == "${3}" ] ; then 77 ${2}="${4}" 78 else 79 ${2}="${3}" 80 fi 81 unset get 82 menu_exit 83 fi 84 } 85 fi 86}