Adjacent menu opens when moving from an indicator icon to its dropdown menu in LIMs and Lockscreen

Bug #1618405 reported by Marco Trevisan (Treviño) on 2016-08-30
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
unity (Ubuntu)
Medium
Marco Trevisan (Treviño)
Nominated for Xenial by Marco Trevisan (Treviño)
Xenial
Undecided
Unassigned

Bug Description

[Impact]
Users experience frustration when trying to move from an indicator to its dropdown menu. Use the triangle hack in LIMs and Lockscreen too.

[Test Case]
Exactly like bug #552920 but for Lockscreen and Integrated menus:

1. Click on the volume control to open the sound menu.
2. Move the pointer diagonally to click on the maximum volume button.
<https://launchpadlibrarian.net/42732636/Why_autoexpanding_indicators_are_a_bad_idea.png>

What often happens: The sound menu closes, and the menu next to it opens.
Screencast: <https://www.youtube.com/watch?v=lVUokjAlREs>
Example in an informal usability test: <https://www.youtube.com/watch?feature=player_detailpage&v=PgGbZfR6Vec#t=13m55s>

What should happen: The sound menu stays open.

[Regression Potential]
Make sure you can properly navigate between different menus entry inside (both in LIMs and Lockscreen)

Related branches

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 7.5.0+16.10.20160901.2-0ubuntu1

---------------
unity (7.5.0+16.10.20160901.2-0ubuntu1) yakkety; urgency=medium

  [ Andrea Azzarone ]
  * Disable menu discovery animation if MenusDiscoveryDuration is 0.
    (LP: #942962)
  * Redraw fake decorations on window resize. (LP: #940470)

  [ Marco Trevisan (Treviño) ]
  * InputMonitor: add an unity class that monitors XInput2 events and
    converts them to XEvent
  * EdgeBarrierController: use InputMonitor to get the barrier events
    instead of relying on its implementation
  * DecorationsMenuLayout: use input monitor for menu scrubbing (LP:
    #1614597)
  * PanelView: use InputMonitor to track menu events
  * LockScreenPanel: use InputMonitor events instead of mouse polling
    for menu scrubbing
  * MenuManager: add support for mouse trackers with triangle algorithm
    support (LP: #1618405)
  * PanelView: scale gradient refinement properly
  * PanelService: don't allow to deactivate menus if they've been opened
    too shortly
  * WindowButton: properly partially unmaximize a window when
    middle/left clicking in the restore button (LP: #1616136)
  * CMake: move data and setting files in proper folder, define shared
    libdir variables

 -- Marco Trevisan (Treviño) <mail@3v1n0.net> Thu, 01 Sep 2016 23:59:15 +0000

Changed in unity (Ubuntu):
status: In Progress → Fix Released
Andrea Azzarone (azzar1) on 2017-07-17
description: updated

Hello Marco, or anyone else affected,

Accepted unity into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unity/7.4.5+16.04.20171116 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed verification-needed-xenial
Łukasz Zemczak (sil2100) wrote :

Hello Marco, or anyone else affected,

Accepted unity into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unity/7.4.5+16.04.20171201.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Ads20000 (ads20000) wrote :

Reproduced the bug. I don't think this issue is fixed in Unity 7.4.5+16.04.20171201.3. See the GIF. It seems you've delayed the time it takes for the mouse to bring up the indicator or menu dropdown when the mouse hovers over the indicator or the menu? But the GIF below shows that it doesn't seem to be delayed sometimes...

(The theming is broken because I installed `ubuntu-mate-desktop` on Ubuntu 16.04)

Doug McMahon (mc3man) wrote :

I think you have actually increased the likelihood of when coming out of the indicator into it's menu at an angle of not opening adjacent indicator at bit.
If however the other indicator's area is touched it will open instead (which would be expected.

Here bug is fixed, however I can confirm that it depends on speed, of course this something that might change depending on personal taste.

Unfortunately we kept this threshold hardcoded, so please file a bug to get SCRUB_VELOCITY_THRESHOLD value user-modifiable.

Finally, since we didn't experience any regression, and since I can confirm the fix works for fast movements, we can mark this as verified.

Tested with

apt-cache policy unity
unity:
  Installed: 7.4.5+16.04.20171201.3
  Candidate: 7.4.5+16.04.20171201.3

tags: added: verification-done verification-done-xenial
removed: verification-needed verification-needed-xenial
Launchpad Janitor (janitor) wrote :
Download full text (3.4 KiB)

This bug was fixed in the package unity - 7.4.5+16.04.20171201.3

---------------
unity (7.4.5+16.04.20171201.3) xenial; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * InputMonitor: add an unity class that monitors XInput2 events and
    converts them to XEvent
  * EdgeBarrierController: use InputMonitor to get the barrier events
    instead of relying on its implementation
  * DecorationsMenuLayout: use input monitor for menu scrubbing (LP:
    #1614597)
  * PanelView: use InputMonitor to track menu events
  * LockScreenPanel: use InputMonitor events instead of mouse polling
    for menu scrubbing
  * MenuManager: add support for mouse trackers with triangle algorithm
    support (LP: #1618405)
  * PanelView: scale gradient refinement properly
  * PanelService: don't allow to deactivate menus if they've been opened
    too shortly
  * LockScreenController: ignore icon_paths_changed signal in
    menumanager for Lockscreen
  * LockScreenController: use InputMonitor to get all the events and
    hide the Blank Window (LP: #1321075)
  * LockScreenController: use input monitor to get the events to switch
    monitor (LP: #1316862)
  * LauncherOptions: use track_obj to manage option changes (LP:
    #1622995)
  * UnityScreen: toggle gestures recognition on lock (LP: #1645507)
  * GnomeSessionManager: add gcancellable to instance and use it for
    calls with temporary proxies
  * BackgroundSettings: use gnome-bg to generate textures with proper
    scaling (LP: #1666359)
  * UnityWindow: safely check validity of UnityWindow from scaled one
    (LP: #1659847)
  * Panel: ensure the menu-manager tracker is updated to match monitor
    (LP: #1671432)
  * compiz-profile-setter: tool to update the current profile and use in
    systemd and Unity settings (LP: #1668950)
  * BGHash, UnityScreen: get desktop averageColor from compiz
  * Launcher: disable or reduce most icon effects on lowgfx (LP:
    #1700859)
  * PanelController: ensure we disconnect from signals on destruction
    (LP: #1504870)
  * tools: add migration script to set the default values for unity-
    lowgfx profile

  [ Andrea Azzarone ]
  * Properly handle the file manager copy dialog in
    FileManagerLauncherIcon and in StorageLauncherIcon. (LP: #1575452,
    LP: #1609845)
  * Correctly position the force quit dialog when scaling is different
    than 1.0 (LP: #1637991)
  * GnomeSession: Retrieve the session id using dbus if $XDG_SESSION_ID
    is not set
  * Round gtk scaling factor to closest integer. (LP: #1649736)
  * Keep the screen locked if rebooting with autologin. (LP: #1600389)
  * Use g_mkdir_with_parents instead of mkdir.
  * Lockscreen: always draw the background-color in the lockscreen (LP:
    #1702701)
  * Refactor the way UserAuthenticator is created and passed around.
    Handle failures to create new threads and fallback to a "Switch to
    greeter..." button in case of failure. (LP: #1311316)
  * Wait until the color buffer is cleared before suspending. (LP:
    #1532508)

  [ Kai-Heng Feng ]
  * UnitySettings: If scale-factor is not set, find and set right scale
    for HiDPI displays.

  [ Eleni Maria Stea ]
  * shouldn't create blur rectangles when there's ...

Read more...

Changed in unity (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for unity has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers