Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Bean
On Mon, Oct 5, 2009 at 5:57 AM, Michal Suchanek  wrote:
> There are panels above it so it is not left to right.
>
> The margin should increase the outer size of the widget so that when
> space is allocated for it the margin is taken into account but not
> stick it to the bottom. That's what alignment (valign) is for.

Hi,

To add space between widgets whose location is calculated by layout
manger, use hspace and vspace, margin_bottom is used to indicate that
widget is sticky to the south border and therefore not determined by
the layout manger.

> A width=100%, margin_left=3, margin_right=3 widget should occupy the
> available width minus 6 characters.

margin_left=3, margin_right=3 already means the widget would occupy
the available width minus 6 characters, don't use width=100% as well
otherwise it'd confuse the menu system.

The percentage is calculated using parent panel, for example, if
parent panel width is 10, margin_left=3, margin_right=3 would generate
a width of 4, but 100% calculated as 10, they're different.

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


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Bean
On Mon, Oct 5, 2009 at 6:20 AM, Michal Suchanek  wrote:
> Hello
>
> I tried to get some borders into the previous demo but I got overlapping 
> panels.
>
> This should not happen because it is not supported. That's what the
> layout manager is for.

Hi,

I think you misunderstand the meaning of margin_* properties. It means
that the widget is always at a constant distance from parent widget.
Once it's set, their position is fixed, it's not subject to the layout
manger. This is used to create sticky panels like docks. For example:

panel
{
  panel { id="aa" margin_bottom=0 }
  panel { id="bb" }
  panel { id="cc" }
  panel { id="dd"}
}

aa's location is fixed, bb, cc and dd's location is calculated by the
panel, they can overlap with aa.

The sticky panel also doesn't move when view port is scrolled to
display active item.

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


Re: Macbook, Efi, Display mode

2009-10-04 Thread Peter Cros
$ git pull origin menu

On Mon, Oct 5, 2009 at 7:43 AM, Stefan Bienert
wrote:

> >>> Hi,
> >>>
> >>> What's your video card, intel or nvidia ?
> >>>
> >> Nvidia.
> >
> > Hi,
> >
> > I found a small bug that could be the cause, please try the latest
> > code from menu branch. I also upload the binary file to ubuntu forum
> > in case you don't want to compile it yourself.
> >
>
> OK, I tried that. (BTW, my clone of your repo only has the master
> branch, what could I do about this?)
>
> Now I'm back with my old menu, no fancy graphics and no terminal.
> At least the menu is not disturbed any longer.
>
> greetings,
>
> Stefan
>
>
> ___
> Grub-devel mailing list
> Grub-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/grub-devel
>



-- 
Cros (pxw)
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Michal Suchanek
Forgot to attach the menu configuration.
screen {
background = "/menu/back.png,,blue"

  panel {
  border_width = 2/1
margin_left = 25/3
margin_top = 25/1
margin_right = 25/3
margin_bottom = 25/1
border_color = "brown:red"
panel{
direction = left_to_right
  margin_left = 3/0
  margin_top = 3/0
  margin_right = 3/0
  margin_bottom = 3/0


  panel{
  border_width = 2/0
margin_left = 3/1
margin_top = 3/0
margin_right = 3/1
margin_bottom = 3/0
border_color = "brown:red"
panel{
direction = left_to_right
  margin_left = 3/0
  margin_top = 3/0
  margin_right = 3/0
  margin_bottom = 3/0

  background = ",,brown,#32:,,red,#32"
  direction = left_to_right
  hspace = 10/0
  vspace = 10/0
  anchor = 1

  image {
  image = "/menu/ubuntu_b.png:/menu/ubuntu.png"
command = "aa"
  }

image {
image = "/menu/debian_b.png:/menu/debian.png"
  command = "bb"
}

image {
image = "/menu/gentoo_b.png:/menu/gentoo.png"
  command = "cc"
}
}
  }

panel {
direction = bottom_to_top
  vspace = 10/1
#background = ",,green,#32:,,cyan,#32"
  border_width = 1
  border_height = 1
  border_color = "brown:red"
  extend = 1
  anchor = 1

  panel {
  direction = left_to_right
hspace = 10/1
background = ":,,green, "
command = "aa"

image {
image = "/menu/ubuntu.png"
}

  text {
  text = "Ubuntu"
color = "yellow:light-green"
  }
  }

panel {
direction = right_to_left
  hspace = 10/1
  valign = center
  background = ":,,green, "
  command = "bb"

  image {
  image = "/menu/debian.png"
  }

text {
text = "Debian Lenny"
  color = "yellow:light-green"
}
}

panel {
direction = left_to_right
  hspace = 10/1
  valign = bottom
  halign = right
  background = ":,,green, "
  command = "cc"

  image {
  image = "/menu/gentoo.png"
  }

text {
text = "Gentoo"
  color = "yellow:light-green"
}
}
}

panel {
direction = bottom_to_top
  vspace = 10/1
#background = ",,green,#32:,,cyan,#32"
  border_width = 1
  border_height = 1
  border_color = "brown:red"
  anchor = 1

  panel {
  direction = left_to_right
hspace = 10/1
background = ":,,green, "
command = "aa"

image {
image = "/menu/ubuntu.png"
}

  text {
  text = "Ubuntu"
color = "yellow:light-green"
  }
  }

panel {
direction = right_to_left
  hspace = 10/1
 

Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Michal Suchanek
Hello

I tried to get some borders into the previous demo but I got overlapping panels.

This should not happen because it is not supported. That's what the
layout manager is for.

Thanks

Michal


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Michal Suchanek
2009/10/4 Bean :
> On Sun, Oct 4, 2009 at 7:22 PM, Michal Suchanek  wrote:
>> Hi
>>
>> I only tried running the sample, did not look how things are done yet.
>>
>> The major problem is that the panels are not sorted in any way so the
>> navigation is very confusing. There should be only a single toplevel
>> panel which contains all active elements in a layout.
>>
>> However, when I put everything into a single panel I still get issues:
>>
>>  - the content is not inside the panel border
>>  - focus is on an invisible element, not the first element
>
> Hi,
>
> Oh, that's a small bug, easy to fix.
>
>>  - panels are not ordered left to right as specified
>
> I don't understand, it looks left to right to me. Or do you mean that
> small bar in the bottom ? It has margin_bottom set so that it sticks
> to the border.

There are panels above it so it is not left to right.

The margin should increase the outer size of the widget so that when
space is allocated for it the margin is taken into account but not
stick it to the bottom. That's what alignment (valign) is for.

A width=100%, margin_left=3, margin_right=3 widget should occupy the
available width minus 6 characters.

>
> The default unit is character, which have different width and height
> value, you can use the pixel format as:
>
> border_width = "5/1"
> border_height = "5/1"
>
> Then width/height would be 5 pixel in graphic mode.
>

One should only remember to set horizontal sizes twice of the vertical
sizes in text. Not nice but there is no nice way to avoid it I guess.

>>  - background bitmap does not cover margins. I am not sure if it is
>> desirable to cover them, though. CSS works that way but I am sure some
>> systems work differently.
>
> I don't understand, can you be more specific ?

The only useful case is probably resolved by adding a toplevel panel
inside screen and setting background on the screen.

Thanks

Michal


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Michal Suchanek
2009/10/4 Bean :
> On Mon, Oct 5, 2009 at 12:06 AM, richardvo...@gmail.com
>  wrote:
  - the border settings offer many options but I miss the option for
   - setting the text border explicitly to single/double border
 without using an image
>>>
>>> I think image is most flexible, who want ascii border in graphic mode

It should be possible to construct a menu usable in both text and
graphics without additional images.

>>> ? BTW, border in graphic mode doesn't necessary be full character
>>> size, so text may not draw properly anyway. About the single/double
>>> border, it's more suitable to config them using styles other that
>>> property.
>>
>> Can't one obtain an N pixel solid border by using a parent panel with
>> background = border color, and client panel just a few pixels smaller
>> using the margin-positioning directives?

Yes, that should be possible. I just expect that his would be a common
task so it would be nicer to have also inner spacing that adds space
inside the border without an additional panel.

>>
>> This should give a border without needing a new set of commands, nor
>> image files.
>
> Hi,
>
> You can use border_width, border_height and border_color property to
> add a strip of solid color around a panel, no need to add another one.

You need another one to get a a space between the border and the panel content.

Thanks

Michal


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Macbook, Efi, Display mode

2009-10-04 Thread Stefan Bienert
>>> Hi,
>>>
>>> What's your video card, intel or nvidia ?
>>>
>> Nvidia.
> 
> Hi,
> 
> I found a small bug that could be the cause, please try the latest
> code from menu branch. I also upload the binary file to ubuntu forum
> in case you don't want to compile it yourself.
> 

OK, I tried that. (BTW, my clone of your repo only has the master
branch, what could I do about this?)

Now I'm back with my old menu, no fancy graphics and no terminal.
At least the menu is not disturbed any longer.

greetings,

Stefan


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Bean
On Mon, Oct 5, 2009 at 4:05 AM, Bean  wrote:
> Hi,
>
> Update:
>
> Select the first item when menu starts.
> Fix a bug in border handling, now the position should be ok
> Fix a bug in EFI linux loader
> Add edit widget.
>
> Properties for the edit widget:
> lines: number of lines, default value is 1
> columns: number of columns, default value 20
> max_lines: maximum number of history, default value 100, if more lines
> are entered, the oldest lines would be discard. If max_lines is set to
> 0, no limit on the
> lines stored.
> font: font name
> color: font color
>
> Unlike gfxterm, edit widget support proportional font, the demo use
> Helvetica to illustrate it.
>
> Hotkey inside edit widget:
>
> Up: Move up one line
> Down: Move down one line
> Left: Move left one character
> Right: Move right one character
> Backspace: Erase one character
> TAB: Leave the widget and jump to next item
>
> The widget support smart scrolling, when the text exceed the border,
> it scroll the cursor to the center so that it have more blank space
> (like emacs), it also remember the cursor position, you can edit some
> text, then jump to another item. When you jump back to the edit
> widget, the cursor would restore to the last position.
>
> Resource file menu.zip updated for the new edit widget.

Hi,

Oh, forget to mention these keys:

Home: jump to the first character in the current line
End: jump to the last character in the current line


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


Re: Macbook, Efi, Display mode

2009-10-04 Thread Bean
On Mon, Oct 5, 2009 at 1:27 AM, Stefan Bienert
 wrote:
> Bean wrote:
>> On Sun, Oct 4, 2009 at 10:45 PM, Stefan Bienert
>>  wrote:
>>> Peter Cros wrote:
 There is a grub.efi binary with the double buffering fix and menutest  from
 Bean here on Ubuntuforms.org apple mac subforum thread

 grub2 EFI boot loader internal/external booting post #1054

 http://ubuntuforums.org/showpost.php?p=8034856&postcount=1054


>>> OK, I tried that, but only with little success.
>>> I get a very distorted screen on boot. And iThis seems not to depend on
>>> whether I pull in the 'menu' stuff mentiod in the ubuntuforum thread or
>>> not. But at least the system stays in a bootable state and I get a sort
>>> of graphical term ;-)
>>
>> Hi,
>>
>> What's your video card, intel or nvidia ?
>>
>
> Nvidia.

Hi,

I found a small bug that could be the cause, please try the latest
code from menu branch. I also upload the binary file to ubuntu forum
in case you don't want to compile it yourself.

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


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Bean
Hi,

Update:

Select the first item when menu starts.
Fix a bug in border handling, now the position should be ok
Fix a bug in EFI linux loader
Add edit widget.

Properties for the edit widget:
lines: number of lines, default value is 1
columns: number of columns, default value 20
max_lines: maximum number of history, default value 100, if more lines
are entered, the oldest lines would be discard. If max_lines is set to
0, no limit on the
lines stored.
font: font name
color: font color

Unlike gfxterm, edit widget support proportional font, the demo use
Helvetica to illustrate it.

Hotkey inside edit widget:

Up: Move up one line
Down: Move down one line
Left: Move left one character
Right: Move right one character
Backspace: Erase one character
TAB: Leave the widget and jump to next item

The widget support smart scrolling, when the text exceed the border,
it scroll the cursor to the center so that it have more blank space
(like emacs), it also remember the cursor position, you can edit some
text, then jump to another item. When you jump back to the edit
widget, the cursor would restore to the last position.

Resource file menu.zip updated for the new edit widget.

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


Re: Macbook, Efi, Display mode

2009-10-04 Thread Stefan Bienert
Bean wrote:
> On Sun, Oct 4, 2009 at 10:45 PM, Stefan Bienert
>  wrote:
>> Peter Cros wrote:
>>> There is a grub.efi binary with the double buffering fix and menutest  from
>>> Bean here on Ubuntuforms.org apple mac subforum thread
>>>
>>> grub2 EFI boot loader internal/external booting post #1054
>>>
>>> http://ubuntuforums.org/showpost.php?p=8034856&postcount=1054
>>>
>>>
>> OK, I tried that, but only with little success.
>> I get a very distorted screen on boot. And iThis seems not to depend on
>> whether I pull in the 'menu' stuff mentiod in the ubuntuforum thread or
>> not. But at least the system stays in a bootable state and I get a sort
>> of graphical term ;-)
> 
> Hi,
> 
> What's your video card, intel or nvidia ?
> 

Nvidia.

greetings,

Stefan


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Bean
On Mon, Oct 5, 2009 at 12:06 AM, richardvo...@gmail.com
 wrote:
>>>  - the border settings offer many options but I miss the option for
>>>   - setting the text border explicitly to single/double border
>>> without using an image
>>
>> I think image is most flexible, who want ascii border in graphic mode
>> ? BTW, border in graphic mode doesn't necessary be full character
>> size, so text may not draw properly anyway. About the single/double
>> border, it's more suitable to config them using styles other that
>> property.
>
> Can't one obtain an N pixel solid border by using a parent panel with
> background = border color, and client panel just a few pixels smaller
> using the margin-positioning directives?
>
> This should give a border without needing a new set of commands, nor
> image files.

Hi,

You can use border_width, border_height and border_color property to
add a strip of solid color around a panel, no need to add another one.

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


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread richardvo...@gmail.com
>>  - the border settings offer many options but I miss the option for
>>   - setting the text border explicitly to single/double border
>> without using an image
>
> I think image is most flexible, who want ascii border in graphic mode
> ? BTW, border in graphic mode doesn't necessary be full character
> size, so text may not draw properly anyway. About the single/double
> border, it's more suitable to config them using styles other that
> property.

Can't one obtain an N pixel solid border by using a parent panel with
background = border color, and client panel just a few pixels smaller
using the margin-positioning directives?

This should give a border without needing a new set of commands, nor
image files.


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Macbook, Efi, Display mode

2009-10-04 Thread Bean
On Sun, Oct 4, 2009 at 10:45 PM, Stefan Bienert
 wrote:
> Peter Cros wrote:
>> There is a grub.efi binary with the double buffering fix and menutest  from
>> Bean here on Ubuntuforms.org apple mac subforum thread
>>
>> grub2 EFI boot loader internal/external booting post #1054
>>
>> http://ubuntuforums.org/showpost.php?p=8034856&postcount=1054
>>
>>
>
> OK, I tried that, but only with little success.
> I get a very distorted screen on boot. And iThis seems not to depend on
> whether I pull in the 'menu' stuff mentiod in the ubuntuforum thread or
> not. But at least the system stays in a bootable state and I get a sort
> of graphical term ;-)

Hi,

What's your video card, intel or nvidia ?

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


Re: Macbook, Efi, Display mode

2009-10-04 Thread Stefan Bienert
Peter Cros wrote:
> There is a grub.efi binary with the double buffering fix and menutest  from
> Bean here on Ubuntuforms.org apple mac subforum thread
> 
> grub2 EFI boot loader internal/external booting post #1054
> 
> http://ubuntuforums.org/showpost.php?p=8034856&postcount=1054
> 
> 

OK, I tried that, but only with little success.
I get a very distorted screen on boot. And iThis seems not to depend on
whether I pull in the 'menu' stuff mentiod in the ubuntuforum thread or
not. But at least the system stays in a bootable state and I get a sort
of graphical term ;-)

greetings,

Stefan


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Bean
On Sun, Oct 4, 2009 at 7:22 PM, Michal Suchanek  wrote:
> Hi
>
> I only tried running the sample, did not look how things are done yet.
>
> The major problem is that the panels are not sorted in any way so the
> navigation is very confusing. There should be only a single toplevel
> panel which contains all active elements in a layout.
>
> However, when I put everything into a single panel I still get issues:
>
>  - the content is not inside the panel border
>  - focus is on an invisible element, not the first element

Hi,

Oh, that's a small bug, easy to fix.

>  - panels are not ordered left to right as specified

I don't understand, it looks left to right to me. Or do you mean that
small bar in the bottom ? It has margin_bottom set so that it sticks
to the border.

>
> There is an issue with setting the border and margins.
>  - if I set all margins to the same number the horizontal and vertical
> margins are different which is quite ugly

The default unit is character, which have different width and height
value, you can use the pixel format as:

border_width = "5/1"
border_height = "5/1"

Then width/height would be 5 pixel in graphic mode.

>  - the border settings offer many options but I miss the option for
>   - setting the text border explicitly to single/double border
> without using an image

I think image is most flexible, who want ascii border in graphic mode
? BTW, border in graphic mode doesn't necessary be full character
size, so text may not draw properly anyway. About the single/double
border, it's more suitable to config them using styles other that
property.

>   - replicating similar effect in graphics (that is setting a few
> pixel border with some space on either side - margin should set the
> outer space but I am not sure about the inner space)
>  - background bitmap does not cover margins. I am not sure if it is
> desirable to cover them, though. CSS works that way but I am sure some
> systems work differently.

I don't understand, can you be more specific ?

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


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Bean
On Sun, Oct 4, 2009 at 8:03 PM, Peter Cros  wrote:
> Demo auto scrolling runs  OK on apple efi but some comments  -
>
> Problem with different scaling between Text and Graphic mode on 1920x1200,
> text loses the bottom  7th widget selection possibility.

Hi,

Oh, that's expected. As the bottom widget consist of bitmaps only, and
text mode can't display bitmaps, it'd be skipped. In order to show it,
you can either:

1, use panel to bind bitmap and text together

panel {
  direction = left_to_right
  background = ":,,green, "
  command = "aa"

  image {
image = "/menu/ubuntu.png"
  }

  text {
text = "Ubuntu"
color = "yellow:light-green"
  }
}

2, Use a special syntax that instruct the menu system to display a
rectangle when bitmap can't be loaded:

  image {
image = "/menu/ubuntu.png,,red,#32"
  }

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


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Peter Cros
Demo auto scrolling runs  OK on apple efi but some comments  -

Problem with different scaling between Text and Graphic mode on 1920x1200,
text loses the bottom  7th widget selection possibility.

I seem to expect an initial visible focussed panel indication, instead of
having to hit N to see it. Perhaps that is irrelevant at this stage.

Posted pictures on ubuntuforms to show Text versus Gfx.

On Sun, Oct 4, 2009 at 3:27 PM, Bean  wrote:

> On Sun, Oct 4, 2009 at 6:34 AM, Michal Suchanek 
> wrote:
> > 2009/10/3 Bean :
> >> Hi,
> >>
> >> Update:
> >>
> >> Add auto scrolling support, view port would be adjusted automatically
> >> to show the current node. In the demo, there are five horizontal
> >> widgets, total length exceed that of the screen, using 'N' and 'P' to
> >> navigating between anchors, and you can see the hidden widget would
> >> scroll into view automatically, ESC to exit the demo.
> >>
> >
> > Hello,
> >
> > Do you have an update of the sample configuration for menu test?
> >
> > The old sample reports "class not found".
>
> Hi,
>
> It's at:
>
> http://grub4dos.sourceforge.net/menu.zip
>
> Download it again and replace the files.
>
> --
> 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
>



-- 
Cros (pxw)
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [GITGRUB] New menu interface (implementation)

2009-10-04 Thread Michal Suchanek
2009/10/4 Bean :
> On Sun, Oct 4, 2009 at 6:34 AM, Michal Suchanek  wrote:
>> 2009/10/3 Bean :
>>> Hi,
>>>
>>> Update:
>>>
>>> Add auto scrolling support, view port would be adjusted automatically
>>> to show the current node. In the demo, there are five horizontal
>>> widgets, total length exceed that of the screen, using 'N' and 'P' to
>>> navigating between anchors, and you can see the hidden widget would
>>> scroll into view automatically, ESC to exit the demo.
>>>
>>
>> Hello,
>>
>> Do you have an update of the sample configuration for menu test?
>>
>> The old sample reports "class not found".
>
> Hi,
>
> It's at:
>
> http://grub4dos.sourceforge.net/menu.zip
>
> Download it again and replace the files.
>
Hi

I only tried running the sample, did not look how things are done yet.

The major problem is that the panels are not sorted in any way so the
navigation is very confusing. There should be only a single toplevel
panel which contains all active elements in a layout.

However, when I put everything into a single panel I still get issues:

 - the content is not inside the panel border
 - focus is on an invisible element, not the first element
 - panels are not ordered left to right as specified

There is an issue with setting the border and margins.
 - if I set all margins to the same number the horizontal and vertical
margins are different which is quite ugly
 - the border settings offer many options but I miss the option for
   - setting the text border explicitly to single/double border
without using an image
   - replicating similar effect in graphics (that is setting a few
pixel border with some space on either side - margin should set the
outer space but I am not sure about the inner space)
 - background bitmap does not cover margins. I am not sure if it is
desirable to cover them, though. CSS works that way but I am sure some
systems work differently.

Thanks

Michal
screen {
  background = "/menu/back.png,,blue"

panel {
direction = left_to_right
  margin_left = 3
  margin_top = 3
  margin_right = 3
  margin_bottom = 3

  top_left = 
"/menu/menu_tl.png,,black/cyan,#0x250F:/menu/select_tl.png,,black/green,/"
  top = 
"/menu/menu_t.png,tiling,black/cyan,#0x2501:/menu/select_t.png,,black/green,-"
  top_right = 
"/menu/menu_tr.png,,black/cyan,#0x2513:/menu/select_tr.png,,black/green,\\"
  left = 
"/menu/menu_l.png,tiling,black/cyan,#0x2503:/menu/select_l.png,,black/green,|"
  right = 
"/menu/menu_r.png,tiling,black/cyan,#0x2503:/menu/select_r.png,,black/green,|"
  bottom_left = 
"/menu/menu_bl.png,,black/cyan,#0x2517:/menu/select_bl.png,,black/green,\\"
  bottom = 
"/menu/menu_b.png,tiling,black/cyan,#0x2501:/menu/select_b.png,,black/green,-"
  bottom_right = 
"/menu/menu_br.png,tiling,black/cyan,#0x251B:/menu/select_br.png,,black/green,/"
  border_width = 0/1
  border_height = 0/1
  border_color = "brown:red"

  panel {
  background = ",,brown,#32:,,red,#32"
direction = left_to_right
margin_bottom = 0
hspace = 10/0
vspace = 10/0
anchor = 1

image {
image = "/menu/ubuntu_b.png:/menu/ubuntu.png"
  command = "aa"
}

  image {
  image = "/menu/debian_b.png:/menu/debian.png"
command = "bb"
  }

  image {
  image = "/menu/gentoo_b.png:/menu/gentoo.png"
command = "cc"
  }
  }

panel {
direction = bottom_to_top
  vspace = 10/1
#background = ",,green,#32:,,cyan,#32"
  border_width = 1
  border_height = 1
  border_color = "brown:red"
  extend = 1
  anchor = 1

  panel {
  direction = left_to_right
hspace = 10/1
background = ":,,green, "
command = "aa"

image {
image = "/menu/ubuntu.png"
}

  text {
  text = "Ubuntu"
color = "yellow:light-green"
  }
  }

panel {
direction = right_to_left
  hspace = 10/1
  valign = center
  background = ":,,green, "
  command = "bb"

  image {
  image = "/menu/debian.png"
  }

text {
text = "Debian Lenny"
  color = "yellow:light-green"
}
}

panel {
direction = left_to_right
  hspace = 10/1
  valign = bottom
  halign = r