Comment 21 for bug 747682

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

I had planned to look at eliminating the Unity panel shadowing code completely (at some point) and make it use the compiz decorator to draw shadows. Two separate packages drawing shadows seems a bit redundant. However such a change was impossible until bug 731685 was fixed.

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.

P.S. Yes, I know the Unity panel only has an X window to handle input and is otherwise painted using pure OpenGL. But that doesn't make it impossible to implement...