Re: Client-side decorations, RGBA opaque regions
- From: Dana Jansens <danakj orodu net>
- To: fredrik kde org
- Cc: wm-spec-list gnome org
- Subject: Re: Client-side decorations, RGBA opaque regions
- Date: Wed, 25 Nov 2009 11:03:28 -0500
2009/11/25 Fredrik Höglund <fredrik kde org>:
> On Wednesday 25 November 2009, Cody Russell wrote:
>> I'm working on adding support to GTK+ for doing client-side window
>> decorations, and there are a couple additional hints that seem like they
>> would be useful to propose.
>> Part of this work is involving changing GTK+ to use RGBA windows by
>> default. For this, I'd like to propose an XserverRegion hint that
>> contains a region marking what parts of the window are known to be
>> opaque. The idea being that this could be used by a WM/compositor to
>> optimize which parts of the window it needs to composite, if it's useful
>> to the WM/compositor (or it could be ignored; a GL compositor may not
>> find this kind of information very useful, for example). This might be
>> called _NET_OPAQUE_REGION.
> I think it would be preferable to store the rectangles directly in the
> The reason is that if the window manager wants to fetch the rectangles,
> it first has to make a synchronous call to fetch the ID, followed by another
> synchronous call to fetch the rectangles, while it only has to make
> one such call if the rectangles are stored directly in the property.
> If the window manager needs an XserverRegion it would have to create
> it, but this is an asynchronous call.
>> The other hint that would be useful is a hint similar to
>> _NET_FRAME_EXTENTS that specifies client-side drop shadow extents. The
>> main idea here being that the WM could take advantage of this to know
>> where to perform window snapping for windows whose decorations and
>> drop-shadows are drawn client-side. This might be called
> I think this is a good idea, but maybe it should have a more generic
> name, since the client may draw something other than a shadow
> around the window.
How would a compositing manager which decorates windows with, for
example, shadows, know not to draw shadows around/over/under the
client's shadows? I believe that window frames and other decorations
should each be done by a single client or there will be innumerable
] [Thread Prev