diff options
author | Andrzej Bialecki <abial@FreeBSD.org> | 1998-12-22 12:15:45 +0000 |
---|---|---|
committer | Andrzej Bialecki <abial@FreeBSD.org> | 1998-12-22 12:15:45 +0000 |
commit | 7b753b610cae0a413ad8cb33c23493891293cf49 (patch) | |
tree | fca77398fcd55c1fbcd87582a63fbba8fbc501cc /share/examples/bootforth/menu.4th | |
parent | 558408f95d00561c18e48dd47f2b8d611af27ded (diff) |
Add examples how to use the terminal emulation code in /boot/loader to
create nice startup menus. Improvements are warmly welcome. :-)
Notes
Notes:
svn path=/head/; revision=42004
Diffstat (limited to 'share/examples/bootforth/menu.4th')
-rw-r--r-- | share/examples/bootforth/menu.4th | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/share/examples/bootforth/menu.4th b/share/examples/bootforth/menu.4th new file mode 100644 index 000000000000..ad98029426e9 --- /dev/null +++ b/share/examples/bootforth/menu.4th @@ -0,0 +1,74 @@ +\ Simple greeting screen, presenting basic options. +\ XXX This is far too trivial - I don't have time now to think +\ XXX about something more fancy... :-/ +\ $Id$ + +: title + f_single + 60 11 10 4 box + 29 4 at-xy 15 fg 7 bg + ." Welcome to BootFORTH!" + me +; + +: menu + 2 fg + 20 7 at-xy + ." 1. Start FreeBSD /kernel." + 20 8 at-xy + ." 2. Interact with BootFORTH." + 20 9 at-xy + ." 3. Reboot." + me +; + +: prompt + 14 fg + 20 11 at-xy + ." Enter your option (1,2,3): " + key + dup emit + me +; + +: help_text + 10 18 at-xy ." * Choose 1 if you just want to run FreeBSD." + 10 19 at-xy ." * Choose 2 if you want to use bootloader facilities." + 12 20 at-xy ." See '?' for available commands, and 'words' for" + 12 21 at-xy ." complete list of Forth words." + 10 22 at-xy ." * Choose 3 in order to warm boot your machine." +; + +: main_menu + begin 1 while + clear + f_double + 79 23 1 1 box + title + menu + help_text + prompt + cr cr cr + dup 49 = if + drop + 1 25 at-xy cr + ." Loading kernel. Please wait..." cr + boot + then + dup 50 = if + drop + 1 25 at-xy cr + exit + then + dup 51 = if + drop + 1 25 at-xy cr + reboot + then + 20 12 at-xy + ." Key " emit ." is not a valid option!" + 20 13 at-xy + ." Press any key to continue..." + key drop + repeat +; |