After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 82162 - Allow activation of items with submenus
Allow activation of items with submenus
Status: RESOLVED WONTFIX
Product: gtk+
Classification: Platform
Component: Widget: GtkMenu
unspecified
Other other
: Normal enhancement
: Medium API
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: 154048
 
 
Reported: 2002-05-18 10:47 UTC by Gregory Merchan
Modified: 2015-02-16 14:02 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gregory Merchan 2002-05-18 10:47:03 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.
Comment 1 Owen Taylor 2002-05-18 20:37:01 UTC
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.
Comment 2 martin H. 2002-07-03 20:33:59 UTC
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.
Comment 3 Andrew Sobala 2002-08-10 22:58:17 UTC
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 :-)
Comment 4 Reinout van Schouwen 2002-11-05 19:49:57 UTC
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.
Comment 5 Reinout van Schouwen 2004-07-26 11:18:34 UTC
I've mirrored Gregorys' page on http://www.cs.vu.nl/~reinout/ccmenus/ .
Comment 6 Chris Angelico 2014-05-09 08:50:52 UTC
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?
Comment 7 Matthias Clasen 2015-02-16 14:02:36 UTC
this hasn't been worked on in 13 years... time to retire this request.