Hi,

Update:
Add widget infrastructure, currently only implement two widget, screen
and panel.
Support loading from theme file.

I've packed the resource and upload it at:

http://grub4dos.sourceforge.net/menu.zip

To use it, unzip to /menu and add the following line in grub.cfg:

. /menu/menu.cfg

Select "text mode" or "graphic mode", it would draw the menu based on
config file, press any key and it returns to grub menu.

Here is the sample theme file:

screen
{
  panel
  {
    x = "5"
    y = "5"
    width = "-5"
    height = "-5"

    top_left = "/menu/menu_tl.png,,black/cyan/#0x250F"
    top = "/menu/menu_t.png,tiling,black/cyan/#0x2501"
    top_right = "/menu/menu_tr.png,,black/cyan/#0x2513"
    left = "/menu/menu_l.png,tiling,black/cyan/#0x2503"
    right = "/menu/menu_r.png,tiling,black/cyan/#0x2503"
    bottom_left = "/menu/menu_bl.png,,black/cyan/#0x2517"
    bottom = "/menu/menu_b.png,tiling,black/cyan/#0x2501"
    bottom_right = "/menu/menu_br.png,tiling,black/cyan/#0x251B"

    background = "/menu/back.png,,#808080/cyan"

    panel
    {
      x = 1
      y = 1
      width = -1
      height = 2
      background = ",blue"
    }
  }
}

The most complex property is the background image, for example:

top = "/menu/menu_t.png,tiling,black/cyan/#0x2501"

/menu/menu_t.png - image
tiling - scaling method (can be empty, center, tiling, minfit, maxfit)
black/cyan/#0x2501 - color, the full format is something like this:

#808080/black/cyan/A

#808080 - color in graphic mode
black - foreground in text mode
cyan - background in text mode
A - fill char in text mode

-- 
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

Reply via email to