Comment 29 for bug 747682

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Bug 747682] Re: unity panel shadow opacity does not match panel opacity

On Fri, Sep 23, 2011 at 3:20 PM, Daniel van Vugt <email address hidden> wrote:
> It's probably not impossible to do already. Certainly, in my hacking I
> have accidentally made compiz apply shadow to the unity panel and
> launcher already. But it was a little buggy, and the compiz changes you
> suggest sound like the clean way to do it...
>

Indeed, however what would happen at the moment would be that you'd
either see the InputOutput windows for the launcher and panel (ugly)
or, when trying to make them transparent, the shadow would also be
painted translucent.

It is possible to try and pick out if what is being drawn *might* be
the shadow, but that approach is error prone as you can only tell when
a texture being passed to GLWindow::glDrawTexture is not the window
texture, but not if the texture is actually the shadow texture.

> I recommend any new decoration/shadow logic should maintain and use
> virtual Z (depth) values for each window. Then draw the shadows and
> windows SEPARATELY in appropriate Z order. That would solve and
> simplify, potentially, all the overlapping shadow issues and support
> arbitrary window shapes and opacities.
>
> for each unique z value (descending):
>    draw all the shadows of windows at depth z
>    draw all the windows and non-shadow decorations of windows at depth z
> end for
>
> So you can see, if two windows are the same depth (like two menus, or
> like a top-level window and a dock), then the shadow of one will never
> overdraw the content of the other.
>
> Shouldn't this discussion be continued in a new bug or blueprint?
>

Yes, that's exactly how it would work. I'm not sure about making a
blueprint or a bug for it yet though, that should really be done in
the planning for the next cycle when we look at our priorities. It
might be useful for me to do a feature-spec write up of how it would
work.

> --
> 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/747682
>
> Title:
>  unity panel shadow opacity does not match panel opacity
>
> Status in Unity:
>  Fix Committed
> Status in “unity” package in Ubuntu:
>  In Progress
>
> Bug description:
>  Binary package hint: unity
>
>  The option exists to use a fully transparent panel, however this does not work well with the newly enabled drop shadow.
>  Maybe at some point the shadow could be disabled when a fully trans. panel is chosen (0.0000
>
>  ProblemType: Bug
>  DistroRelease: Ubuntu 11.04
>  Package: unity 3.8.2-0ubuntu1
>  ProcVersionSignature: Ubuntu 2.6.38-7.39-generic 2.6.38
>  Uname: Linux 2.6.38-7-generic i686
>  NonfreeKernelModules: nvidia
>  Architecture: i386
>  CompizPlugins: [core,bailer,detection,composite,opengl,decor,vpswitch,regex,gnomecompat,resize,compiztoolbox,mousepoll,place,move,staticswitcher,session,fade,cube,scale,scaleaddon,expo,rotate,unityshell]
>  Date: Fri Apr  1 15:21:30 2011
>  InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Alpha i386 (20110308)
>  ProcEnviron:
>   LANGUAGE=en_US:en
>   PATH=(custom, user)
>   LANG=en_US.UTF-8
>   SHELL=/bin/bash
>  SourcePackage: unity
>  UpgradeStatus: No upgrade log present (probably fresh install)
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/unity/+bug/747682/+subscriptions
>

--
Sam Spilsbury