Hi, Update:
Add sub menu support, generate widgets dynamically using menu entries. Now grub.cfg should look like this: menuentry "AAA" { set root=(hd0,1) chainloader +1 } menuentry "BBB" --class ubuntu { true } . /menu/menu.cfg The menu have three items, AAA, BBB and Tools, which is a menu appended in menu.cfg. Tools are a submenu, its content is defined using menu section: menu { Tools { "Toggle Mode" { command = menu_toggle_mode } "Terminal" { command = "menu_popup term_window" } "Change Theme" { Default { command="load_config /menu/blue.txt\nmenu_refresh" } Green { command="load_config /menu/green.txt\nmenu_refresh" } White { command="load_config /menu/white.txt\nmenu_refresh" } } "Layout Demo" { command = "menu_popup layout_test" } Halt { command = "halt" } Reboot { command = "reboot" } } } merge_config command would append this with user defined menu items. The screen section is very simple now: screen { panel { extend = 1 valign = center halign = center panel { class = frame id = __menu__ } } } command menu_create would scan screen for id __menu__, and add widgets according to the menu content. The generated widget entry looks like this: panel { class = select command = COMMAND image { class = CLASS } text { text = TITLE } } The submenu is this: panel { class = frame command = "menu_popup -r menu_tree N" } -- Bean gitgrub home: http://github.com/grub/grub/ my fork page: http://github.com/bean123/grub/ _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel