Global application menu does not follow mouse move for displaying submenus in multi-monitor setups

Bug #1671432 reported by Benjamin Drung
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity (Ubuntu)
Fix Released
High
Marco Trevisan (Treviño)
Nominated for Xenial by Marco Trevisan (Treviño)
Nominated for Zesty by Marco Trevisan (Treviño)
Xenial
Fix Released
Undecided
Unassigned

Bug Description

[Impact]
Global application menu does not follow mouse move for displaying submenus in multi-monitor setups.

[Testcase]
1. Make sure you have a multi-monitor setup.
2. Open gedit (or any other application).
3. Click on "Edit" (or any other entry) in the global application menu.
4. The submenu will be displayed.
5. Move the mouse to an other entry (like "File").
6. Make sure the "File" submenu is displayed.

[Potential Regression]
Make sure menu mouse navigation work properly with single monitor setups too.

ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: unity 7.5.0+16.10.20161112-0ubuntu1
ProcVersionSignature: Ubuntu 4.8.0-41.44-generic 4.8.17
Uname: Linux 4.8.0-41-generic x86_64
.tmp.unity_support_test.0:

ApportVersion: 2.20.3-0ubuntu8.2
Architecture: amd64
BootLog: root: clean, 3266949/30646272 files, 74818724/122582784 blocks
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
CurrentDesktop: Unity
Date: Thu Mar 9 11:48:38 2017
DistUpgraded: 2016-11-15 15:38:50,850 ERROR got error from PostInstallScript ./xorg_fix_proprietary.py (g-exec-error-quark: Kindprozess »./xorg_fix_proprietary.py« konnte nicht ausgeführt werden (No such file or directory) (8))
DistroCodename: yakkety
DistroVariant: ubuntu
GraphicsCard:
 Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06) (prog-if 00 [VGA controller])
   Subsystem: Dell Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [1028:05a4]
MachineType: Dell Inc. OptiPlex 9020
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.8.0-41-generic root=UUID=e4b18c85-0526-4864-b6e4-8e5be0d2c476 ro initrd=ubuntu/raring/initrd.gz splash quiet nomdmonddf nomdmonisw vt.handoff=7
SourcePackage: unity
UpgradeStatus: Upgraded to yakkety on 2016-11-15 (113 days ago)
dmi.bios.date: 04/25/2014
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A07
dmi.board.name: 00V62H
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 15
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA07:bd04/25/2014:svnDellInc.:pnOptiPlex9020:pvr01:rvnDellInc.:rn00V62H:rvrA00:cvnDellInc.:ct15:cvr:
dmi.product.name: OptiPlex 9020
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.13.0+16.10.20160818.2-0ubuntu2
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.70-1
version.libgl1-mesa-dri: libgl1-mesa-dri 12.0.6-0ubuntu0.16.10.1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 12.0.6-0ubuntu0.16.10.1
version.xserver-xorg-core: xserver-xorg-core 2:1.18.4-1ubuntu6.1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.10.2-1ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.7.1-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20160706-1ubuntu1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.12-2
xserver.bootTime: Thu Mar 9 10:36:29 2017
xserver.configfile: default
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.version: 2:1.18.4-1ubuntu6.1
xserver.video_driver: modeset

Related branches

Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Can't reproduce this... Is this always happening?

Do you get this also when using LIM mode [1]?

[1] gsettings set com.canonical.Unity integrated-menus true

Changed in unity (Ubuntu):
status: New → Incomplete
Revision history for this message
Benjamin Drung (bdrung) wrote :

No, the behavior stays the same after setting integrated-menus to true.

Revision history for this message
Benjamin Drung (bdrung) wrote :

And to answer the question: Yes, it is always happening with all applications.

Changed in unity (Ubuntu):
status: Incomplete → New
Revision history for this message
Benjamin Drung (bdrung) wrote :

Did another tests with LIM mode activated using keepassx as test case: It works correctly when menu is displayed in the window title and the window is not maximized. When the window is maximized, the menu is displayed in the unity bar and it doesn't work.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

What's the output for
  xinput

And if you run

  xinput test-xi2 --root

And you move the mouse around, do you see events happening?

Revision history for this message
Benjamin Drung (bdrung) wrote :

xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Laser Mouse id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ USB Keyboard id=10 [slave keyboard (3)]
    ↳ USB Keyboard id=11 [slave keyboard (3)]

Revision history for this message
Benjamin Drung (bdrung) wrote :

$ xinput test-xi2 --root
[...]
EVENT type 6 (Motion)
    device: 9 (9)
    detail: 0
    flags:
    root: 3397.79/1078.45
    event: 3397.79/1078.45
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    valuators:
        0: 3394.79
        1: 1077.45
    windows: root 0xe5 event 0xe5 child 0x1063bce
EVENT type 13 (RawKeyPress)
    device: 3 (10)
    detail: 37
    valuators:

Yes, I see a lot of events happening when moving the mouse. Only the global application menu doesn't seem to react to these mouse events when after a menu was opened.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

mhmh, can you try to do this:

Launch this command

$ sleep 5 && xinput test-xi2 --root

Then right-click in the terminal (to open a menu, or just open an unity menu) within 5 seconds... Then the xinput test-x2 should run, so at this point do you still see motion events as before?

Revision history for this message
Benjamin Drung (bdrung) wrote :

Yes, I still see these motion events when moving the mouse afterwards:

$ sleep 5 && xinput test-xi2 --root
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Laser Mouse id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ USB Keyboard id=10 [slave keyboard (3)]
    ↳ USB Keyboard id=11 [slave keyboard (3)]
EVENT type 17 (RawMotion)
    device: 2 (9)
    detail: 0
    flags:
    valuators:
          1: 1.00 (1.00)

EVENT type 6 (Motion)
    device: 9 (9)
    detail: 0
    flags:
    root: 3251.33/317.00
    event: 3251.33/317.00
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    valuators:
        1: 318.00
    windows: root 0xe5 event 0xe5 child 0x1000197

Revision history for this message
Benjamin Drung (bdrung) wrote :

Attached a small video that demonstrates the behavior. I have to left-click to show the sub-menu below the cursor.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Mhmhmh... So plase ping me in IRC (Trevinho @ freenode) when you can as I think I need some more debug info, and maybe some vnc access. But anyway, ping me and we'll see.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Thanks to a debug session with Treviño. We narrowed the bug down:

The misbehavior is related to the multi-monitor setup. The mouse moves over the global menu are correctly honored on the left-most monitor. On all other monitors, the mouse moves are not honored (the right monitor in a dual-monitor setup, the middle and the right monitor in a triple-monitor setup).

Revision history for this message
Benjamin Drung (bdrung) wrote :

Ubuntu 17.04 (zesty) is affected as well.

Changed in unity (Ubuntu):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
summary: Global application menu does not follow mouse move for displaying
- submenus
+ submenus in multi-monitor setups
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

---------------
unity (7.5.0+17.10.20170425.1-0ubuntu1) artful; urgency=medium

  [ Dimitri John Ledkov ]
  * Drop libupstart-dev dependency, and simply include verbantim dbus
    object paths.
  * Do not use upstart-dbus.h in compiz_config_profile_setter either.

  [ Eleni Maria Stea ]
  * removes lowgfx option from ccsm, reads the "lowgfx" gsetting
    (lp:~hikiko/unity-control-center/unity-control-center.lowgfx) (LP:
    #1668950)

  [ Marco Trevisan (Treviño) ]
  * 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)

  [ Nick Dedekind ]
  * Fixed tooltip scaling issues. (LP: #1673950)

 -- Marco Trevisan (Treviño) <mail@3v1n0.net> Tue, 25 Apr 2017 17:59:20 +0000

Changed in unity (Ubuntu):
status: In Progress → Fix Released
Andrea Azzarone (azzar1)
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Benjamin, 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
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Benjamin, 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!

Revision history for this message
Benjamin Drung (bdrung) wrote :

I already upgraded to Ubuntu 17.10 (artful)

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Benjamin, so is this fixed for you in artful?

Revision history for this message
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
Revision history for this message
Benjamin Drung (bdrung) wrote :

Yes, it is fixed in artful.

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.