"More" arrow in system menus points right but opens left

Bug #772073 reported by Jeremy Bícha
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
network-manager-applet (Ubuntu)
Triaged
Wishlist
Unassigned

Bug Description

Binary package hint: network-manager

The "More networks" and "VPN Connections" submenus in the Network menu and "Choose Playlist" in the Sound menu have an arrow pointing to the right but they open to the left. This becomes an issue if you try to use the keyboard to navigate these menus. If you use the left arrow key to move your cursor to the new submenu, your cursor actually moves to the next menu to the left and you "lose your place" in the original menu. This penalizes the user for not realizing that he should click right to move left.

My initial thought was that the arrow should be moved to the left and point the other direction but I think this may look awkward. And then my second thought was to have both left and right navigate to the submenu but this wouldn't work as then there's no way to get back to the original menu. Perhaps switching the left and right arrow keys so they operate as they look on the screen.

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: network-manager 0.8.4~git.20110319t175609.d14809b-0ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
Architecture: amd64
CRDA: Error: [Errno 2] No such file or directory
Date: Wed Apr 27 18:32:33 2011
IfupdownConfig:
 auto lo
 iface lo inet loopback
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
IpRoute:
 192.168.1.0/24 dev wlan2 proto kernel scope link src 192.168.1.123 metric 2
 169.254.0.0/16 dev wlan2 scope link metric 1000
 default via 192.168.1.1 dev wlan2 proto static
IwConfig: Error: [Errno 2] No such file or directory
NetDevice.eth2:
 Error: [Errno 2] No such file or directory
 X: INTERFACE_MAC=00:1e:33:74:d0:2e
NetDevice.lo:
 Error: [Errno 2] No such file or directory
 X: INTERFACE_MAC=00:00:00:00:00:00
NetDevice.vboxnet0:
 Error: [Errno 2] No such file or directory
 X: INTERFACE_MAC=0a:00:27:00:00:00
NetDevice.wlan2:
 Error: [Errno 2] No such file or directory
 X: INTERFACE_MAC=00:21:6b:27:0c:5a
NetworkManager.state:
 [main]
 NetworkingEnabled=true
 WirelessEnabled=true
 WWANEnabled=true
ProcEnviron:
 LANGUAGE=en_GB:en
 PATH=(custom, no user)
 LANG=en_GB.utf8
 SHELL=/bin/bash
RfKill: Error: [Errno 2] No such file or directory
SourcePackage: network-manager
UpgradeStatus: Upgraded to natty on 2011-01-01 (116 days ago)

Revision history for this message
Jeremy Bícha (jbicha) wrote :
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Thanks for this thoughtful bug report.

It is standard behavior, across toolkits and operating systems, that if a submenu has not enough room to open to the right, it opens to the left. (This is a slight simplification, but the exceptions don't matter here.) Ubuntu's global menu bar makes this much less likely to happen for window menus, since they start near the left edge of the screen, which leaves plenty of room to the right regardless of where the window is. But it can still happen for context menus (for example, try right-clicking near the right edge of the desktop and opening the "Create Document" submenu) or for heavily nested submenus (for example, for a subsubsubfolder with a long name in Firefox bookmarks). And, as you say, it happens for our current network and sound menus.

That it's standard toolkit behavior doesn't necessarily mean it's good behavior. It does mean, though, that any change to that behavior should be thoroughly designed and tested.

If a menu contained only one submenu, having the submenu triangle point to the left wouldn't look that bad. A submenu title is never also a checkmark or radio item, so the triangle could go in the same column that a checkmark or radio mark does. But what if a menu contains more than one submenu, and at least one of them does have room to open to the right? Should they all open to the left, just for consistency?

A bigger problem is that submenus are sometimes populated on-demand for performance reasons (see bug 771229 for example). This means that the menu doesn't "know" ahead of time how wide all of its submenus will be, which means that it can't position the triangles on the appropriate side ahead of time. For example, some Web browsers have a "Go" or "History" menu that can have thousands of icon-laden items distributed across several submenus. The top-level menu would be extremely slow to open if it had to calculate the widths of all its submenus to position their triangles first.

So, I think the most practical approach is just to minimize cases where submenus open near to the right of the screen in the first place. For example, context menus shouldn't contain submenus. Which leaves the questions of what to do with the network menu and the sound menu.

For the network menu, my design at <https://wiki.ubuntu.com/Networking#menu> does not involve any submenus at all. I suggest that the Network Manager menu adopt that design -- removing the "More networks" submenu entirely, converting any configured VPNs into switch items (replacing "Disconnect VPN") at the top level, and converting "Configure VPN…" into a "VPN Setup…" item at the top level that appears only when any VPNs are already configured.

For the sound menu, I'm wondering whether to remove the "Choose Playlist" submenu -- not solely or even primarily because it opens to the left, but just to simplify the menu in general.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

There's some work that may be needed to simplify nm-applet menus, but right now I feel this remains the lesser evil than other designs we've seen (although mpt's idea of dealing differently with VPN connections are great and probably not too hard to implement). I'm not sure I want to jump into doing away with the More networks submenu as a Ubuntu diff unless absolutely necessary.

Note however, there's been some work to implement handling network connections in gnome-control-center so some of this may be on the way to be fixed too.

As a temporary measure I'll see if I can put together a patch that implements these changes and host it in a PPA if it makes sense, so we can get it tested and have a feel for how well it works.

Changed in network-manager (Ubuntu):
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Just reassigning to network-manager-applet since that's the correct package for the UI NM component.

affects: network-manager (Ubuntu) → network-manager-applet (Ubuntu)
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

I do think the "More Networks" submenu should go away, not just as an Ubuntu diff but for upstream too -- most importantly because merging it into the "Connect to Hidden Wireless Network" dialog as a general "Connect to Wi-Fi Network" would simplify the menu, secondly because a long list of non-hidden networks in the dialog would be easier to handle than a submenu, thirdly because it would avoid the weirdness of a submenu opening to the left, fourthly because it would avoid the weirdness of two lists that are individually alphabetically sorted despite being subsets of the same list, and fifthly because it would scale better in the edge case where there are more wi-fi networks around than even a submenu can show without scrolling.

Jeremy, at this point I'm not inclined to change the playlist submenus in the sound menu. But if you'd like that considered separately, I suggest reporting it separately so this bug report can focus on the network menu.

no longer affects: ayatana-design
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Wishlist -> to be brought up with upstream; we might go that way anyway to kind of follow the line of how things are setup in the control center now.

Changed in network-manager-applet (Ubuntu):
importance: Low → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.