e2a3c64f39
"boot verbose", "single user mode", "ACPI" and more are now stateful boolean menuitems rather than direct action-items. A short-coming in this new menu system is that when a user sets a non-default value in loader.conf(5), this non-default state is not reflected in the menu -- leading to confusion as to whether the option was taking effect or not. This patch adds dynamic menuitem constructors _and_ the necessary Forth callbacks to initialize these stateful menuitems -- causing the aforementioned menuitems to adhere to loader.conf(5) settings. PR: bin/172529 Approved by: adrian (co-mentor) MFC after: 21 days
80 lines
2.5 KiB
Plaintext
80 lines
2.5 KiB
Plaintext
\ Menu.rc
|
||
\ $FreeBSD$
|
||
\
|
||
\ Load required Forth modules
|
||
include /boot/version.4th
|
||
include /boot/brand.4th
|
||
include /boot/menu.4th
|
||
include /boot/menu-commands.4th
|
||
include /boot/shortcuts.4th
|
||
|
||
\ Screen prep
|
||
clear \ clear the screen (see `screen.4th')
|
||
print_version \ print version string (bottom-right; see `version.4th')
|
||
draw-beastie \ draw freebsd mascot (on right; see `beastie.4th')
|
||
draw-brand \ draw the FreeBSD title (top-left; see `brand.4th')
|
||
menu-init \ initialize the menu area (see `menu.4th')
|
||
|
||
\ Initialize main menu constructs (see `menu.4th')
|
||
\ NOTE: To use the `ansi' variants, add `loader_color=1' to loader.conf(5)
|
||
|
||
set menu_caption[1]="Boot [Enter]"
|
||
set menu_command[1]="boot"
|
||
set ansi_caption[1]="[1mB[37moot [1m[Enter][37m"
|
||
set menu_keycode[1]="98"
|
||
|
||
set menu_caption[2]="[Esc]ape to loader prompt"
|
||
set menu_command[2]="goto_prompt"
|
||
set menu_keycode[2]="27"
|
||
set ansi_caption[2]="[1mEsc[37mape to loader prompt"
|
||
|
||
\ Enable built-in "Reboot" trailing menuitem
|
||
\ NOTE: appears before menu_options if configured
|
||
\
|
||
set menu_reboot
|
||
|
||
\ Enable "Options:" separator. When set to a numerical value (1-8), a visual
|
||
\ separator is inserted before that menuitem number.
|
||
\
|
||
set menu_options=4
|
||
|
||
set menu_caption[4]="[A]CPI Support off"
|
||
set toggled_text[4]="[A]CPI Support On"
|
||
set menu_command[4]="toggle_acpi"
|
||
set menu_keycode[4]="97"
|
||
set menu_acpi=4
|
||
set ansi_caption[4]="[1mA[37mCPI Support [34;1mOff[37m"
|
||
set toggled_ansi[4]="[1mA[37mCPI Support [32;7mOn[0;37m"
|
||
|
||
set menu_caption[5]="Safe [M]ode... off"
|
||
set toggled_text[5]="Safe [M]ode... On"
|
||
set menu_init[5]="init_safemode"
|
||
set menu_command[5]="toggle_safemode"
|
||
set menu_keycode[5]="109"
|
||
set ansi_caption[5]="Safe [1mM[37mode... [34;1mOff[37m"
|
||
set toggled_ansi[5]="Safe [1mM[37mode... [32;7mOn[0;37m"
|
||
|
||
set menu_caption[6]="[S]ingle User. off"
|
||
set toggled_text[6]="[S]ingle User. On"
|
||
set menu_init[6]="init_singleuser"
|
||
set menu_command[6]="toggle_singleuser"
|
||
set menu_keycode[6]="115"
|
||
set ansi_caption[6]="[1mS[37mingle User. [34;1mOff[37m"
|
||
set toggled_ansi[6]="[1mS[37mingle User. [32;7mOn[0;37m"
|
||
|
||
set menu_caption[7]="[V]erbose..... off"
|
||
set toggled_text[7]="[V]erbose..... On"
|
||
set menu_init[7]="init_verbose"
|
||
set menu_command[7]="toggle_verbose"
|
||
set menu_keycode[7]="118"
|
||
set ansi_caption[7]="[1mV[37merbose..... [34;1mOff[37m"
|
||
set toggled_ansi[7]="[1mV[37merbose..... [32;7mOn[0;37m"
|
||
|
||
\ Enable automatic booting (add ``autoboot_delay=N'' to loader.conf(5) to
|
||
\ customize the timeout; default is 10-seconds)
|
||
\
|
||
set menu_timeout_command="boot"
|
||
|
||
\ Display the main menu (see `menu.4th')
|
||
menu-display
|