Re: Menus



"Jason P." wrote:

> 2. 'Mac style': a single, global menubar, across the top of the screen.
> Personally, I like this style of menubar best: it's easiest (again, for
> me) to use, least confusing in practice (I have a bad habit of clicking
> the wrong 'File' menu when I have alot of windows open on screen), and
> seems conceptually cleaner. One application/window has the focus; one
> set of menus is active; menus are always in the same place.

Not sure how practical this would be.  Wouldn't you have to create a set of
brand new Global Menu hints to communicate with the window manager?  For
example, in E, you have a desktop drag bar at the top, bottom, or side of
the screen.  Depending on where your global menu is, you'll have to either
move the menu above the dragbar, thus decreasing your available workspace,
or below it (not a good idea, unless you want your menubar to be tied to a
specific desktop).

Would you implement the global menubar as one single window, or would it be
a different window for each app, overlaid on top of each other so that when
you click on an application, the WM has to know to bring that app's menubar
to the foreground?  Either way sounds like an awful lot of work, especially
for the window manager (presumably we want to make it _easy_ for WM's to
become GNOME-compliant).

If you have a single window that shows the menus for all applications, you'd
probably have to make it a separate process, and then create a CORBA
interface so that the apps can tell it what to show.  If you use pointer
focus (as opposed to click-to-focus) in your WM, you're going to be doing an
awful lot of menu switching, which is going to in turn generate a lot of
extra CORBA traffic.

Seems like a lot to pay for themable menus.

Don't get me wrong.  I like the idea a lot, and think it would be a really
cool feature to have.  However, I don't think it's practical at this point
in time, especially with the impending API freeze.  Maybe you could
experiment with it, with the intent of adding it to GNOME 1.1/1.2...

John




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]