[compiz] [RFC] Draft for a compositing manager specification

Thomas Lübking thomas.luebking at web.de
Sun Aug 15 23:14:48 CEST 2010


Am Sunday 15 August 2010 schrieb Martin Gräßlin:
> On Sunday 15 August 2010 16:19:04 Sam Spilsbury wrote:
> > The compositor should set the _NET_CM_SHADOW_SUPPORTED hint and
> > clients should set the following information in the _NET_CM_SHADOW
> > property on the window.
> > 
> > 0 | shadow color (32 bit depth)
> > 1 | shadow radius
> > 2 | shadow x offset
> > 3 | shadow y offset
> > 4 | Number of shadow rects ( > 1 if the window is nonrectangular )
> > 5 | A list of rects specifying shadow extents for each rect.
> > 
> > In the case where there is more than one rect, the compositing manager
> > should automatically clip shadows  which are not "border" shadows.

Do you really want to let clients control shadow color, dimensions & offsets?
Shadows resemble a light model, but with such setup they'd probably end up 
like psychodelic ;-)
("I - that is /ME/ - is the most important client on the block and I - that is 
*ME* - want the biggest and most colorful shadow!" :-)
Even if not, it would end up like Gtk+ an Qt look different - again :-(

What we do need are reliable hints on whether the window 
- does not want a shadow at all ("OSD" type)
- can use "normal" (rectangular) shadows despite using an ARGB color table or 
(slightly) shaped. If not it should be not a big deal to copy the alpha part 
of the window texture and blur (and cache) it to form a shadow.

Cheers


More information about the Plasma-devel mailing list