GNOME Bugzilla – Bug 82162
Allow activation of items with submenus
Last modified: 2015-02-16 14:02:36 UTC
There are two activation sequences for menus which seem to be impossible without revising most of the Gtk menu widgets. These are conditional cascading menus and menus as found on the MacOS Apple menu where an item with a submenu may also be activated. Common to both of these is that an item with a submenu can be activated. This alone seems impossible with the current system. Redoing the menu system to allow just this would make the MacOS-like item possible. However, such an item is of limited utility as it is only suited for MacOS Apple menu- or Windows Start menu-like menus, and perhaps bookmark menus. The MacOS implementation is poor in that there is no visual indication of the affordance. Conditional cascading menus, which may be found on OS/2 and IceWM, do provide visual indication of what they afford. What they afford is simpler activation of a particular item from a submenu (the default) by allowing it to be activated from the item which has the submenu. Unlike the MacOS menu, the submenu is not posted when the item is normally selected, and the action which the item with a submenu takes is always one present and indicated on the submenu. Posting of the submenu is afforded by delay, by keyboard navigation as for ordinary submenus off of items, by key-modified mouse action (holding Ctrl down while mousing in IceWM), and by moving into the region of the submenu-indicating arrow. (On OS/2, the region is not pre-lighted until it the submenu is shown. IceWM pre-lights the entire item, but that may be a bug in my copy.) The difficulty in navigating to the smaller region to show the submenu is relieved somewhat by the other methods. The slight cost incurred there is offset by the great boon in simplicity and accessibility compared to other methods of affording similar actions such as right-click menus on menu items. The simplicity is found in the reduction of items which are presented to the ordinary user. Users seeking non-default actions will be able to see more items, but not have to see so many at once. An example is the File->New item in an office suite. Creating new blank documents of the same type as the office app in use would (presumably) be the default action; while creating new documents from templates or of types handled by other apps in the suite would be items in the submenu. A similar use holds for browsers and Internet suites. For those not using such apps, benefit is to be found in the reduction of items on file manager icon pop-ups. Here the Open item defaults to a particular action and the submenu allows for others. This spares presentation of two or even more items on the popup which are needed otherwise. Internet suites also benefit here and office suites are allowed a better place to put a list of recent files. A brief and perhaps more lucid (read: has screenshots) presentaion of conditional cascading menu items may be found here: http://www.phys.lsu.edu/~merchan/CGMenus/Beta/index.html Given a casual analysis of the elements and informal survey of and card sorts with office users of Microsoft products, I am confident that a thorough analysis and formal user testing will show that conditional cascading menus are of more than sufficient benefit to be deployed desktop-wide.
If we were to add these feature, I'm sure we'd add it as on option on to the base menu item rather than trying to do it through subclassing.
I think this is a great feature to have something like this. Just a few notes from uses of this in Windows. Windows uses something similar to this all the time in the explorer interface. Although they don't have Conditional cascading menus they have something similar for objects woth context menus. In many explorer/taskbar context(rmb) menus there one item bold(the Windows indication for standard item) this item is activated by simply double (left) clicking on the object that has this context menu attached to. (e.g. double clicking on a file in explorer activates the highlighted item in the context menu of that file) I think the API should be flexible enough to support such use to, that is have the same visual indication as for the default submenu item on a toplevel popup menu. Enough form me but I'd really love to see this feature(both parts) in gtk soon.
Could I just add my vote here, as a hobbyist-developer, gnome user and tester, for this feature in GTK? It would be both useful and fun :-)
One example of where this would be especially useful, is the gnome-terminal File > New [something] submenu. Here you have to go one level deeper to select a desired profile, whereas 99% of the time you'd just want the default profile. Being able to just click the first level menu item to open a new terminal window would save a lot of hassle.
I've mirrored Gregorys' page on http://www.cs.vu.nl/~reinout/ccmenus/ .
I'm interested in conditional cascade menus, too - I developed on OS/2 for over a decade before shifting more to Windows and now Linux (and I still have an OS/2 VM around for some legacy software). Current use-case: "New Game" -> "Easy", "Medium", "Difficult". If you just click New Game, it should give you a new game at current difficulty; otherwise, you choose the difficulty you want. Unfortunately, this thread is a bit stale (just a bit!), and the two links are both broken. Does anyone know if the content has been snapshotted anywhere?
this hasn't been worked on in 13 years... time to retire this request.