"More" arrow in system menus points right but opens left
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.
ProcVersionSign
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_
NetDevice.lo:
Error: [Errno 2] No such file or directory
X: INTERFACE_
NetDevice.vboxnet0:
Error: [Errno 2] No such file or directory
X: INTERFACE_
NetDevice.wlan2:
Error: [Errno 2] No such file or directory
X: INTERFACE_
NetworkManager.
[main]
NetworkingEnab
WirelessEnable
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)
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.