Comment 9 for bug 731685

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Bug 731685] Re: Panel shadow conflicts with Window shadow in Ubuntu Classic Desktop Session

On Wed, Jun 8, 2011 at 3:16 PM, Daniel van Vugt <email address hidden> wrote:
> If it's unity-window-decorator that draws the normal window shadows, why
> shouldn't it also be made to draw the panel shadow in the same way? At
> most, unity-window-decorator would need a little bit of logic to match
> the Dock window type. Admittedly that might affect the Launcher too...
> But my limited understanding of the unity code is suggesting to me that
> there are two separate components which draw shadows, and really there
> should be only one.

In gnome-classic it draws the panel shadow, correct.

In unity, unity actually draws its own shadow on the panel. This is
because there's a giant hac^Winnovative solution (tm) that we use to
ensure that the panels get stacked correctly, yet we can blit them to
the screen with OpenGL. So what actually happens is that the input
windows for the panels are InputOutput and generally filled with
garbage, yet we don't actually draw them (see
unityshell.cpp:UnityScreen::getWindowPaintList). Instead, we draw all
the screen elements directly using OpenGL.

Because of this, the decor plugin is never able to "see" the panel
being drawn and thus it cant put the shadow that the decorator asked
to put on the panel on the panel.

This isn't really too important for the unity case though, since there
we're able to draw the panel shadow without painting the window twice
(expensive)

>
> I guess it falls into the bucket of re-unifying compiz-window-decorator
> and unity-window-decorator. I'm sure I saw a blueprint for that
> somewhere...
>
> Please do correct me if this is just wild speculation :)
>
> --
> You received this bug notification because you are a member of Unity
> Bugs, which is subscribed to unity in Ubuntu.
> https://bugs.launchpad.net/bugs/731685
>
> Title:
>  Panel shadow conflicts with Window shadow in Ubuntu Classic Desktop
>  Session
>
> Status in Compiz:
>  New
> Status in Unity:
>  Confirmed
> Status in “compiz” package in Ubuntu:
>  New
> Status in “unity” package in Ubuntu:
>  Confirmed
>
> Bug description:
>  When logging in with the session 'Ubuntu Classic Desktop' (with the
>  traditional gnome environment) there seems to be a problem with the
>  panel shadows drawn by Compiz. When moving a window close to one of
>  the panels, the shadows seem to cancel one another out. I've attached
>  a screenshot to show what I mean.
>

--
Sam Spilsbury