Wall edge bindings don't consume mouse click events. Click also gets sent to window below.

Bug #1008508 reported by Martin Wildam
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Compiz
Triaged
Low
Unassigned
compiz (Ubuntu)
Triaged
Low
Unassigned

Bug Description

If the wall plugin is bound to an edge click "<TopEdge>Button1", then it should respond to a click on the top edge of the screen. However when you set this particular binding, the click event is acted upon AND passed to the window at the top edge of the screen. So the problem is that the click is not consumed by the wall plugin. It should not be passed to the window below.

ORIGINAL DESCRIPTION:
When I switch desktops (no matter if using hotkeys or using unity desktop switcher at the launcher) and a maximized window exists on the desktop that gets the focus, that window is pushed to the foreground/front even if another window was the active one when I left that desktop the last time.

Steps to reproduce:

a) start two applications (e.g. LibreOffice and Nautilus, Firefox and Nautilus or whatever).
b) Maximize one of those windows.
c) Switch to the non-maximized one (bring it to the front).
d) Switch desktop.
e) Switch back to first desktop.

Actual effect: Maximized windows is put to front

Desired effect: Show desktop in exactly the way as it was before switching desktop.

Reason: User in first reaction is missing the window he/she was using before.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: unity 5.12-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-24.39-generic-pae 3.2.16
Uname: Linux 3.2.0-24-generic-pae i686
ApportVersion: 2.0.1-0ubuntu8
Architecture: i386
CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
Date: Mon Jun 4 15:12:53 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release i386 (20120423)
SourcePackage: unity
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Martin Wildam (mwildam) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I can't reproduce this bug even with the above steps. Can you provide any other suggestions as to how to reproduce it?

Changed in unity (Ubuntu):
status: New → Incomplete
Revision history for this message
Martin Wildam (mwildam) wrote :

Aha, I have configured the desktop wall plugin in compizconfig-manager under "Bindings" - "Mouse Move Left" to "<Top Edge>Button1" and it only happens when I use the mouse to switch to a desktop on the left.

So steps to reproduce:
a) Start compizconfig-manager
b) Select Desktop wall plugin and under "Bindings" set "Mouse Move Left" to "<TopEdge>Button1"
c) Switch to the leftmost desktop
d) start two applications (e.g. LibreOffice and Nautilus, Firefox and Nautilus or whatever).
e) Maximize one of those windows.
f) Switch to the non-maximized one (bring it to the front).
g) Switch to the desktop on the right.
h) Switch back to first desktop by clicking with the left mouse-button on the top edge of the screen.

It looks like that left click is consumed by the maximized window and brings it to the front.

That click should not be sent/consumed by the window manager as it is already consumed by desktop wall plugin to switch desktops.

I changed the compizconfig-manager setting to use the bottom edge instead of the top edge of the screen and that way desktop switching works correctly.

So it is maybe not the window manager (because the maximized window reaches the bottom of the screen also), but the panel on the top that gets the click and passes it to the maximized window (just a wild guess).

I would prefer the top edge because results in less mouse miles by tendency, but this is a workaround I can accept.

Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Clicking on the panel raises a maximized window that is behind the current one

Confirmed, and the bug actually has nothing to do with edge bindings or CCSM. I've updated the description.

summary: - Switching desktop a maximized window is always pushed to front
+ Clicking on the panel raises a maximized window that is behind the
+ current one
Changed in unity (Ubuntu):
status: Incomplete → Confirmed
Changed in unity:
status: New → Confirmed
description: updated
Revision history for this message
Omer Akram (om26er) wrote :

I still am not able to reproduce the bug, just sayin'

Revision history for this message
Martin Wildam (mwildam) wrote :

@Omer: See attached screenshot.
@Daniel: Yes you are right, neither desktop change required - just clicking the panel is enough to demonstrate the behaviour.

Revision history for this message
Martin Wildam (mwildam) wrote :

Oh, I forgot: Thanks for the quickly/fast responses - great!

Revision history for this message
Omer Akram (om26er) wrote :

Aah, that is something working as intended as per design team' decision. Not really a bug rather a feature.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Omer, if you can reproduce it I think you will realize it's definitely a bug. Clicking on the left side of the panel opens menus for the foreground application but clicking on the middle of the panel raises a completely different application.

Revision history for this message
Omer Akram (om26er) wrote :

what design wanted was this: the area between application menus and system indicators is part of the maximized app in the background. So this is indeed working as intended.

Revision history for this message
Omer Akram (om26er) wrote :

see bug 723882 where the change took place.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks Omer. Sounds like a design bug then :)

Revision history for this message
Martin Wildam (mwildam) wrote :

After reading Bug #723882 I think that this is a separate problem.

See my screenshot screen025.png.

Firefox is maximized in background.
Nautilus in front has the focus and accordingly the panel shows "Home Folder" (well that is a separate issue that it does not show the correct title - however it belongs to Nautilus).

In this situation whereever I click on the top panel Nautilus is kept in foreground.

So a left click on top edge does nothing - it does not change anything - at least not in Window order!

Now assign in ccsm (CompizConfigSettingsManager) in Desktop Wall to use left mouse-click at top edge to switch to desktop on the left.

Now switching from a desktop on the right to the one in screen025.png (being on the left) by left-clicking onto the top edge brings the maximized Firefox window to the front. That behaviour is completely unexpected. And it doesn't either occur when left-clicking on the top panel while staying on the screen025.png sample desktop.

It very looks like that the left-click - after switching to the desktop on the left is not fully consumed and the maximized window somehow consumes that left-click and bringing itself to front (which is then the logical reaction after left-click on the window title bar - which in the maximized state is equal to the panel somehow).

The point is that the active window on screen025.png is Nautilus - the non-maximized window. The desired behaviour from Bug #723882 applies for the situation where the active window is maximized and describes the desired behaviour under that circumstance when the panel display belongs to the active and maximized window. This is _not_ the case here in screen025.png!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think bug 723882 was a poorly conceived enhancement. And even if you agree with it, then causing this bug (which is a different bug) was probably not an intended side-effect.

Changed in unity:
importance: Undecided → Low
Changed in unity (Ubuntu):
importance: Undecided → Low
Changed in unity:
status: Confirmed → Triaged
Changed in unity (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I take it back. Clicking on the title bar of a maximized window in the background is a feature I now realize I use and rely on. So maybe I agree with enhancement bug 723882 now :)

The real problem is that the "<TopEdge>Button1" click should be consumed by compiz if it is bound to an action and not passed to the window below. If there is no action bound to the edge, only then should the click reach the application.

summary: - Clicking on the panel raises a maximized window that is behind the
- current one
+ Wall edge bindings don't consume mouse click events. Click also gets
+ sent to window below.
affects: unity → compiz
affects: unity (Ubuntu) → compiz (Ubuntu)
description: updated
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.