first swap menus
This commit is contained in:
parent
738c2095d2
commit
86d12fe01f
5 changed files with 67 additions and 24 deletions
|
@ -9,10 +9,6 @@ menuentry '↑ set →' { menu 'set' }
|
||||||
menuentry '↑ cmd →' { menu 'cmd' }
|
menuentry '↑ cmd →' { menu 'cmd' }
|
||||||
menu_split
|
menu_split
|
||||||
menuentry 'configfile' { configfile "${live}/configfile.sh" }
|
menuentry 'configfile' { configfile "${live}/configfile.sh" }
|
||||||
menuentry 'check_squashfs = enforce' { check_squashfs='enforce' }
|
|
||||||
menuentry 'check_squashfs = no' { check_squashfs='no' }
|
|
||||||
menuentry 'live_from = ram' { live_from='ram' }
|
|
||||||
menuentry 'live_from = media' { live_from='media' }
|
|
||||||
menu_split
|
menu_split
|
||||||
menuentry 'bash / stable / tui' { debsquash '/boot/bash/stable/tui' }
|
menuentry 'bash / stable / tui' { debsquash '/boot/bash/stable/tui' }
|
||||||
menuentry 'bash / stable / gui' { debsquash '/boot/bash/stable/gui' }
|
menuentry 'bash / stable / gui' { debsquash '/boot/bash/stable/gui' }
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
menu_init
|
menu_init
|
||||||
|
|
||||||
menu_item \
|
menu_item 0 ' 0'
|
||||||
60 \
|
menu_item 5 ' 5 seconds'
|
||||||
600 \
|
menu_item 9 ' 9 seconds ← 9 seconds'
|
||||||
999
|
menu_item 10 ' 10 seconds'
|
||||||
|
menu_split
|
||||||
|
menu_item 60 ' 1 minute'
|
||||||
|
menu_item 99 ' 1 minute 39 seconds ← 99 seconds'
|
||||||
|
menu_item 600 ' 10 minutes'
|
||||||
|
menu_item 900 ' 15 minutes'
|
||||||
|
menu_item 999 ' 16 minutes 39 seconds ← 999 seconds'
|
||||||
|
menu_split
|
||||||
|
menu_item 3600 ' 1 hour'
|
||||||
|
menu_item 9999 ' 2 hours 46 minutes 39 seconds ← 9999 seconds'
|
||||||
|
menu_split
|
||||||
|
menu_item 86400 '1 day'
|
||||||
|
menu_item 99999 '1 day 3 hours 46 minutes 39 seconds ← 99999 seconds'
|
||||||
|
|
|
@ -12,5 +12,6 @@ menuentry "esp: ${esp} → data: ${data}" { nop }
|
||||||
menuentry "env: ${env} → env_mod: ${env_mod}" { nop }
|
menuentry "env: ${env} → env_mod: ${env_mod}" { nop }
|
||||||
menuentry "live: ${live}" { nop }
|
menuentry "live: ${live}" { nop }
|
||||||
menu_split
|
menu_split
|
||||||
menuentry "check_squashfs: ${check_squashfs}" { nop }
|
menu_swap "check_squashfs | ${check_squashfs}" 'check_squashfs' 'enforce' 'no'
|
||||||
menuentry "pause: ${pause}" { menu 'pause' }
|
menu_swap " live_from | ${live_from}" 'live_from' 'ram' 'media'
|
||||||
|
menuentry " pause | ${pause}" { menu 'pause' }
|
||||||
|
|
|
@ -31,11 +31,13 @@ function env_apply {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function env_default {
|
function env_get {
|
||||||
if [ "${1}" == 'check_squashfs' ] ; then default="_${check_squashfs}" ; fi
|
unset get
|
||||||
if [ "${1}" == 'live_from' ] ; then default="_${live_from}" ; fi
|
if [ "${1}" == 'check_squashfs' ] ; then get="${check_squashfs}" ; fi
|
||||||
if [ "${1}" == 'pause' ] ; then default="_${pause}" ; fi
|
if [ "${1}" == 'live_from' ] ; then get="${live_from}" ; fi
|
||||||
if [ "${1}" == 'time_out' ] ; then default="_${time_out}" ; fi
|
if [ "${1}" == 'pause' ] ; then get="${pause}" ; fi
|
||||||
|
if [ "${1}" == 'time_out' ] ; then get="${time_out}" ; fi
|
||||||
|
if [ ! "${get}" ] ; then return 1 ; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function env_init {
|
function env_init {
|
||||||
|
|
|
@ -8,11 +8,20 @@ function menu {
|
||||||
}
|
}
|
||||||
|
|
||||||
function menu_color {
|
function menu_color {
|
||||||
menu_item \
|
setparams \
|
||||||
'black' 'blue' 'green' 'cyan' \
|
'black' 'blue' 'green' 'cyan' \
|
||||||
'red' 'magenta' 'brown' 'light-gray' \
|
'red' 'magenta' 'brown' 'light-gray' \
|
||||||
'dark-gray' 'light-blue' 'light-green' 'light-cyan' \
|
'dark-gray' 'light-blue' 'light-green' 'light-cyan' \
|
||||||
'light-red' 'light-magenta' 'yellow' 'white'
|
'light-red' 'light-magenta' 'yellow' 'white'
|
||||||
|
for color in "${@}" ; do
|
||||||
|
menu_item "${color}"
|
||||||
|
done
|
||||||
|
unset color
|
||||||
|
}
|
||||||
|
|
||||||
|
function menu_exit {
|
||||||
|
env save
|
||||||
|
menu
|
||||||
}
|
}
|
||||||
|
|
||||||
function menu_init {
|
function menu_init {
|
||||||
|
@ -25,19 +34,26 @@ function menu_init {
|
||||||
fi
|
fi
|
||||||
menu_split
|
menu_split
|
||||||
default=2
|
default=2
|
||||||
|
if env_get "${menu}" ; then
|
||||||
|
default="_${get}"
|
||||||
|
unset get
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function menu_item {
|
function menu_item {
|
||||||
env_default "${menu}"
|
if [ "${1}" ] ; then
|
||||||
for item in "${@}" ; do
|
if [ "${2}" ] ; then
|
||||||
menuentry "${item}" "${menu}" --id "_${item}" {
|
entry="${2}"
|
||||||
${2}="${1}"
|
else
|
||||||
env save
|
entry="${1}"
|
||||||
menu
|
fi
|
||||||
|
menuentry "${entry}" "${1}" "${menu}" --id "_${1}" {
|
||||||
|
${3}="${2}"
|
||||||
|
menu_exit
|
||||||
}
|
}
|
||||||
done
|
unset entry
|
||||||
unset item
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function menu_load {
|
function menu_load {
|
||||||
|
@ -53,3 +69,19 @@ function menu_split {
|
||||||
menuentry '' { nop }
|
menuentry '' { nop }
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function menu_swap {
|
||||||
|
if [ "${4}" ] ; then
|
||||||
|
menuentry "${1}" "${2}" "${3}" "${4}" {
|
||||||
|
if env_get "${2}" ; then
|
||||||
|
if [ "${get}" == "${3}" ] ; then
|
||||||
|
${2}="${4}"
|
||||||
|
else
|
||||||
|
${2}="${3}"
|
||||||
|
fi
|
||||||
|
unset get
|
||||||
|
menu_exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue