[syslinux] submenus and menu title
Ady Ady
ady-sf at hotmail.com
Mon Aug 6 02:27:02 PDT 2012
> Date: Fri, 3 Aug 2012 11:58:27 -0700
> From: hpa at zytor.com
> To: syslinux at zytor.com
> CC: ady-sf at hotmail.com
> Subject: Re: [syslinux] submenus and menu title
>
> On 08/03/2012 03:11 AM, Ady Ady wrote:
> >
> > Following the wiki and docs (and examples from several live CDs), I started with:
> > *** syslinux.cfg START ***
> >
> > UI menu.c32
> > MENU TITLE My Main Title
> >
> > MENU BEGIN hellotag
> >
> > LABEL hellolabel
> > COM32 hello.c32
> >
> > MENU END
> >
> > MENU BEGIN lstag
> >
> > LABEL lslabel
> > COM32 ls.c32
> >
> > MENU END
> >
> > *** syslinux.cfg FINISH ***
> >
> > From there, I tried MANY other variations so to get the same (supposedly inherited) menu title, but I was not successful.
> > I could post those many alternatives too if necessary (just let me know). I just don't won't to make this more confusing than necessary.
> > I understand that some directives take precedence over the menu title, preventing it from being inherited "as-is" to its submenus. But in my case I actually indeed want the same menu title in the submenus. So, how do I get _that_ result?
> > TIA.
>
> That looks like it should work. We might have a bug there.
>
> -hpa
>
Hopefully, the following example will show you the problem.
First, the syslinux.cfg:
*** syslinux.cfg START ***
UI menu.c32
MENU TITLE TheMainTitle
MENU BEGIN hellotag
LABEL hellolabel
COM32 hello.c32
MENU END
MENU BEGIN lstag
LABEL lslabel
COM32 ls.c32
MENU END
MENU BEGIN hello2tag
MENU TITLE TheMainTitle
LABEL hello2label
COM32 hello.c32
MENU END
MENU BEGIN ls2tag
MENU TITLE SomeSubmenuTitle
LABEL ls2label
COM32 ls.c32
MENU END
*** syslinux.cfg FINISH ***
So let's see what is actually happening with that menu (Syslinux v.4.06-pre11).
The first 2 entries in the parent menu show the respective tagname, and when the respective submenu is selected, no menu title is inherited (FIRST BUG).
The last 2 entries in the parent menu show the respective (sub)menu title as menu label entry (SENCOND BUG). Note that I repeated (re-used) the same (parent) menu title in at least one submenu, so to effectively get the menu title actually displayed. This repetition should not be needed.
So either the tagmenu is used as menu entry and no menu title is displayed in the submenu (FIRST BUG), or otherwise the explicit (sub)menu title takes precedence over both items:
_the menu label entry in the parent menu (SECOND BUG); and
_the menu title in the respective submenu.
Now let's see what SHOULD had happened.
For the first 2 entries in the parent menu, the parent menu title should had been inherited to the submenus, as no explicit "menu title" directive was added inside the respective "menu begin / menu end" submenu.
For the last 2 entries in the parent menu, the respective "tagname" should had been shown as menu label entry; not the respective menu title inside the "menu begin / menu end" submenu.
If the optional "tagmenu" would had not been used in the "menu begin" directive, then MAYBE the (sub)menu title, if at all present, could be considered to be displayed as the respective menu entry in the parent menu (I actually have seen such case in Live CDs). But that's not the case I am presenting here, so the (sub)menu title shouldn't be taking precedence over the used tagmenu.
In conclusion, in each of the cases I present here, the different conditions for one directive to take precedence over the other (or the other way around) are incorrect, for both directives.
Let me know if there is something else I can do to help resolve this issue.
I'll be waiting for the next test release.
TIA.
More information about the Syslinux
mailing list