LWN.net Logo

Global menu

Global menu

Posted Oct 26, 2010 3:06 UTC (Tue) by drag (subscriber, #31333)
In reply to: Global menu by bojan
Parent article: Shuttleworth: Unity shell will be default desktop in Ubuntu 11.04 (ars technica)

Well...

* It's much easier to hit menus at the top the screen. Your mouse hits the edge of the screen and stops. This has the effect of making the menus infinitely tall. Combine this with mouse acceleration and it's actually a lot easier and quicker to locate a menu that is always at the top the screen versus hovering in some random stop in the middle of your display, depending on whatever window you happen to have active at the time.

So, generally speaking, it's much quicker and more intuitive: The menu is easier and quicker to hit and is always in the same spot.

* It allows you to have per-application menus rather then per-window menus. Most menus are not window-specific and instead affect things application-wide. In this way the menus represent what they really are... application menus. It's just more natural.

* It takes up less space and makes everything look cleaner and nicer.

, The following is a bit on the side topic, but it's still related:

I generally pefer the window manager/desktop shell/whatever to be application aware rather then only manage windows, personally. When I am using the terminal I don't want to hunt through dozens of application windows for the terminal I need. I just want ALL the terminals to come up so I can more easily find what I am looking for. Same thing with my browser and all that stuff.

Take, for example, the curious example of Gimp vs Photoshop usability when it comes to having MDI. Now one of the most common complaints against Gimp is that it does not do MDI properly. Photoshop, they say, does MDI correctly with a parent window and then within that you have half a dozen children windows. With Gimp, however, you have all these windows (at minimal 3) that can get spread all over the place and mixed up with all the other windows on your desktop. This is a classic bitch against Gimp and newer editors such as Inkscape and Krita avoid the issue entirely by having everything be in one big single-window. Eventually, of course, Gimp relented and now has a single window mode. But if you google for it and look carefully you'll notice that Photoshop on OS X does not have a parent window. It's not MDI like Photoshop for Windows at all. Instead it's almost exactly like Gimp. Each window is separate and free to roam at will. It's funny. The major difference here that allows Photoshop to work on OS X while Gimp fails on Linux or Windows is that OS X's Aqua shell does not just manage windows.. it manages applications, too.

That's also, incidentally, why something like a "global application menu" works on OS X, but is such shit on a traditional Linux or Windows desktop.

Now this is something I was hoping Gnome-shell was going to get right, but they only made it half-way. Unity, on the other hand, actually is very very close to getting it right. The version I tried still screwed up because when you click on a application icon it only opens up the last used window first. To get other windows in the application you have to double click on the application icon to go into 'expose mode' to select a separate window... but they are closer to actually managing applications AND windows then Gnome-shell is. (this behavior actually work better for touch screen interfaces on smaller screens. They probably should make the behavior configurable so you can have a small screen behavior and large screen behavior.)

I believe that having a application-aware window manager is really a huge step forward in the right direction. Then a lot of the things people have been trying to do for a long time with weird things like tabbed windows, or tile-based window manager, stuff like rat poison, can actually be performed in a much more effective and friendlier manner.

I like ratpoison a lot and used it for a couple years. But it fell short when it came to using applications like Gimp and other applications that spawned utility windows, pop-ups, and such. Now imagine instead of 'ctrl-s n' switching windows it switched applications and then you can just alt-tab through the different windows... that would be much faster and more intuitive. Combine that with menu accelerators then you could quite easily make a superior keyboard-oriented graphical user interface. Even without uniform menu accelerators if you had a "global menu context" separate from the main application windows... then you could have a keyboard combo that would switch you to the global menu context were you could navigate using emacs or vi-style directional movement without fear of clashing with application keyboard combos. This would make it possible to make any QT or GTK application somewhat modal (more like vi instead of like nano).

Put similar technology in a tile-based window manager and you'd get something better yet without all that painful scripting and whatnot that is normally necessary to get things working properly.


(Log in to post comments)

Global menu

Posted Oct 26, 2010 3:32 UTC (Tue) by bojan (subscriber, #14302) [Link]

> It's much easier to hit menus at the top the screen.

Yeah, that's what they've been selling. Not buying.

There are buttons to click in my app, which I can click just fine. So, I can click the menu there just fine too (context ones even better!). I don't want to drag my mouse all the way to the top (acceleration or not), only to drag it back into the app. It's just silly.

PS. This is especially annoying on a really big, high resolution screen.

Global menu

Posted Oct 26, 2010 4:07 UTC (Tue) by drag (subscriber, #31333) [Link]

Well if you wanted to be really quick with the menus then you can just use alt-f, alt-e and all that sort of thing.

Global menu

Posted Oct 26, 2010 4:56 UTC (Tue) by bojan (subscriber, #14302) [Link]

Yeah, but then I'd have to put my hand on the keyboard... :-)

Global menu

Posted Oct 29, 2010 20:19 UTC (Fri) by salimma (subscriber, #34460) [Link]

Believe it or not, not on a Mac -- the menus are not keyboard-navigable by hot keys.

Global menu

Posted Oct 29, 2010 21:19 UTC (Fri) by foom (subscriber, #14868) [Link]

They actually are, but the interfaces are designed so that you shouldn't need to use the menu at all if you know the operation. Instead, use an assigned shortcut key.

That's another reason why it doesn't really matter that the menubar is at the top, even if you have : essentially all the menu items you'd want to use frequently are assigned shortcuts. And if you use it frequently, you'll remember that shortcut.

(BTW: the secret key to move focus to the menubar is Control-F2 by default; you can find and/or change it in the "Keyboard Shortcuts" item in System Preferences. Once the focus is on the menubar, by pressing that key or by clicking, you can move around with the cursor keys.)

Global menu

Posted Oct 26, 2010 19:43 UTC (Tue) by nix (subscriber, #2304) [Link]

I think the argument is meaningful, *if* you have a conventional mouse, where huge low-precision drags are really easy. Unfortunately netbooks tend to have trackpads, where huge low-precision drags are essentially impossible...

Global menu

Posted Oct 26, 2010 20:18 UTC (Tue) by foom (subscriber, #14868) [Link]

...maybe your trackpad driver is broken or misconfigured? My trackpad uses cursor acceleration, just like a traditional mouse does.

If I drag my finger slowly all the way from one side to the other of the trackpad, I get maybe 20% across the screen. But if I move it quickly even halfway across the trackpad surface, the cursor moves all the way from one edge of the screen to the other. So it's just as easy to hit the side of the screen as it is with a mouse. Easier, perhaps, since you don't need to move your hand as far.

Global menu

Posted Oct 27, 2010 0:02 UTC (Wed) by bojan (subscriber, #14302) [Link]

> So it's just as easy to hit the side of the screen as it is with a mouse. Easier, perhaps, since you don't need to move your hand as far.

And then you have to go back to the app. Which is now far away and not at the edge which would stop you. So, when you accelerate, you cannot really hit that spot that you wanted easily.

Global menu

Posted Oct 28, 2010 21:43 UTC (Thu) by oak (subscriber, #2786) [Link]

It's really designed for smaller screens where your apps are all fullscreened (as on Maemo like an earlier commenter stated)...

Global menu

Posted Oct 31, 2010 12:18 UTC (Sun) by nix (subscriber, #2304) [Link]

The problem is that trackpads are just too small. If I move my finger fast enough to cause acceleration, I have no control at all over where the bloody thing will end up. So I generally disable or at least drastically tone down acceleration.

If you run with acceleration on, maybe this is useful -- but then as far as I'm concerned the rest of the screen is much harder to reach (don't move your finger too fast! oops, now the mouse pointer is who-knows-where).

Global menu

Posted Oct 26, 2010 6:12 UTC (Tue) by madscientist (subscriber, #16861) [Link]

Probably I should try it before deciding (and I will), but I just don't see liking the global menu. First, I have dual 24" LCD monitors on my system (at work), so the one thing I'm NOT lacking is screen real estate. I have my desktop configured into 8 workspaces and I know generally what is in each one of them. On my main workspaces I have an Emacs window and some number, always at least 6 and usually many more, xterms. On others I have various GUI tools (none of which have lots of "child windows", so that doesn't bother me), and more xterms. I don't like Gnome terminal as it's too slow for me and takes too much memory: I like to have 2000 lines or more of screen history in my terminals and I often have 30 or more terminals open, to lots of different systems, at any given time. I don't like tabbed terminals because I often want to cut-paste between them or just look at the content of one while I work in another, or even just keep an eye on a build from one while working on another.

With all those windows I absolutely HATE click-to-focus. I always only and ever use focus-follows-mouse. Until a year or two ago I always enabled auto-raise as well but now I don't do that mainly so I can type on the "lower" window while reading the "upper" window.

I really can't see how global menus will do anything for me. Plus, how does a global menu work with focus-follows-mouse?!?! As you move your mouse up to hit the global menu you'll be changing the window that has focus... and changing the menus and which windows they control!

I have grave concerns. But, I'm confident that it won't be too tough to switch back to a more standard desktop experience, if I want to. And if it is, well, I used Debian for years before I switched to Ubuntu, and I can always do so again.

Global menu

Posted Oct 26, 2010 11:44 UTC (Tue) by job (guest, #670) [Link]

The global menu is modal. It is often far from obvious that the wrong application has focus. Not good.

Also, I think that the graphical window interface lends itself well to lining up windows from different applications. This is hard or impossible when raise on focus works per application.

Global menu

Posted Oct 26, 2010 12:27 UTC (Tue) by pboddie (subscriber, #50784) [Link]

It's much easier to hit menus at the top the screen. Your mouse hits the edge of the screen and stops.

What you're describing is the sacred, venerated beast of the amateur usability "experts" inhabiting such juvenile venues as "OS News": Fitts' Law, or a convenient interpretation of it. What such "experts" frequently refuse to concede - and I remember arguments about this a decade-and-a-half ago - is that pop-up menus are even easier to target. Such discussions are taboo because the "experts" don't want to re-assess that other sacred design choice of the original Mac: the one-button mouse.

Back when screen space was tight, some way of reducing the impact of menus had to be found: the Mac Finder solution involved the global menu, whereas RISC OS employed pop-up menus almost exclusively, mostly because that system (like Sun's offerings) had three mouse buttons to put to good use. But as screen space increased, it became natural to attach menus to application windows, particularly on systems with a heritage of proper multitasking (in other words, not the Mac).

I think that if you're comfortable with non-maximised windows or more than one such window on the same screen, you're probably going to make good use of window-specific menus. Meanwhile, if you maximise all your windows, you get more or less the effect of a global menu, anyway. Consequently, the Mac-style global menu seems like an anachronism.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds