Comment 27 for bug 747682

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

>Now that bug 731685 is fixed, it is finally possible to consider removing the Unity shadowing code, and working on a way to tell compiz to draw the shadow of a window that is not usually in it's painting list (because Unity paints the panel itself).

>One potential way to do this that I have experimented with is the _NET_WM_WINDOW_OPACITY atom, which compiz seems to pay attention to. But compiz only seemed to use it in an on/off way. If we can make compiz paint shadow opacities according to the alpha value _NET_WM_WINDOW_OPACITY, then it's theoretically possible to fix this bug for _any_ type of window. Not just the Unity panel.

I might add here that the unity windows are completely removed from the paint list. We did this because we didn't want any other plugins to see them and be able to change their opacity such that they would be visible.

I plan to re-write the paint system in compiz such that decorations can be painted separately to the windows that own them. As such, when this happens we will be able to have compiz generate the panel shadow on the input window while keeping the input window removed from the paint stack.