[compiz] window decorations explained and how to move forward

David Reveman davidr at novell.com
Mon Apr 3 04:11:54 PDT 2006


On Sun, 2006-04-02 at 10:14 +0200, Thomas Liebetraut wrote:
> Hi David,
> 
> Thanks for your explanation! The lack of good documentation of how
> compiz works makes it hard to do things.

Yes, hopefully we'll have some soon.

> 
> > What's Next
> >
> > I'd like to move the drawing code out of gnome-window-decorator.c and
> > make it possible to plug in different drawing implementations.
> MacSlow, QuinnStorm and myself thought about this just two days ago. My
> idea is basically the same as yours and we all agreed it being a good
> way to do theming of the window decorations.
> We also decided that we should try to merge kde-window-decorator and
> gnome-window-decorator if possible.

I don't think that's possible. Almost everything in
gnome-window-decorator is gtk specific.

> 
> During the week nothing happened on CVS (we fancied you were on
> vacation), I decided to look at the window decorator code (your
> explanation saved me a lot of time, I think) and start working on
> theming. If I understood Quinn correctly, she wanted to start with a
> simple plugin interface based on the code that exists for compiz plugins
> and mimic the current behaviour with a plugin. I'm not sure if she
> really started doing this, she maybe has other things to do.
> 
> > Drop-Shadows
> > [...]
> >
> > Thoughts?
> If I remember correctly, MacSlow wanted to do a dropshadow plugin. I'm
> not sure if he wants to use the composite manager, though (I'll point
> him to this ML so he can say something about it).
> If it turns out that MacSlow's implementation is too slow and that a
> decoration-based shadow would be faster, we could maybe introduce a new
> property to the window that applications with an arbitrary shape could
> set. If the property is set, the decorator uses the composite manager to
> draw the shadow, if it's not set, we use the fast shadows from the
> decorator.

I've already done shadows as a plugin once and I don't think that's the
way to go. There's no point in doing that unless you want fully dynamic
shadows and as far as I know there's no way to do that efficiently on
current graphics hardware and get the same quality as we can get with
static shadows today.

-David



More information about the compiz mailing list