widget layer is below full-screen windows

Bug #162762 reported by Bogdan Butnaru
2
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: compiz

This is about Compiz running on latest updated Gutsy.

I've tried adding some widgets using Compiz' "widgets layer" plugin and the screenlets package (from an external repository). Unfortunately I've noticed an issue: whenever I have a full-screen window _at the top level_, the widgets are drawn below it (so they're invisible, unless the full-screen window is partly transparent). However, if there is a normal, non-full-screen window above the fullscreen window, the widgets are correctly displayed on top.

Note that the "redirect fullscreen windows" option is disabled on my computer, so they should be normally composited.

I think this is a special-case of bug #153676, but since the widget layer is special I think it deserves separate treatment. That is, no matter when and how we solve the stacking issues of full-screen windows, things in the widget layer should be above everything else when they are enabled.

Revision history for this message
Bogdan Butnaru (bogdanb) wrote :

After taking a look through the code, I think it's not exactly the same thing as bug #153676.

As far as I can tell, the widget plugin uses raiseWindow (from window.c) to put the widgets on top. However, that function then uses findSiblingBelow() with aboveFs=FALSE, which causes the widgets to remain below full-screen windows.

I tested this by modifying raiseWindow(), setting aboveFs=TRUE. This works, in the sense that widgets are correctly rendered above any fullscreen window. Of course, if there was a good reason why raiseWindow sets aboveFs to FALSE (I couldn't find one), this would break it.

Is there a Compiz developer who can tell us if that makes sense?

Revision history for this message
Bogdan Butnaru (bogdanb) wrote :

I'm not sure it's right to mark this as a duplicate.

_If_ the raiseWindow is buggy in the way I mentioned, then yes, fixing that bug is a fix for this too. It is possible, though, that raiseWindow was done that way on purpose, and in that case it is the plug-in that needs to be fixed. (For instance, by replacing the call to raiseWindow with a call to updateWindowAttributes (CompStackingUpdateModeAboveFullscreen)---which would have the same effect.)

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.