Re: Proposing _NET_WM_OPAQUE_REGION



On Sat, 2011-11-26 at 13:43 +0100, Philipp Knechtges wrote:
> Hi folks,
> 
> time has passed since the initial proposal [1] of _NET_WM_OPAQUE_REGION but here 
> it is finally :)
> 
> Support for it has recently been added to kwin [2] and I hope that more 
> compositing managers will adapt it.

I'm certainly open to adding this to Mutter ... it's a useful addition.
+
+	<sect2><title>_NET_WM_OPAQUE_REGION</title>
+        <programlisting><![CDATA[
+_NET_WM_OPAQUE_REGION, x, y, width, height, CARDINAL[][4]/32
+]]></programlisting>
+        <para>
+The Client MAY set this property to a list of 4-tuples [x, y, width, height],
+each representing a rectangle in window coordinates that is occluding the
+background. 

I think this would be a little clearer as:

 rectangle in window coordinates which has a fully-opaque alpha value
 in the window's pixel contents. If the window is drawn by the compositor
 without adding any transparency, then such a rectangle will occlude
 whatever is drawn behind it.
 
+ Inherent in this definition is that the property information is only
+considered to be meaningful if the window is an ARGB visual. 

This is a pretty obscure sentence .... is the intent here that it's simply
informative, not normative? similar to:

 If the window has an RGB visual rather than an ARGB visual, this property is
 not typically useful, since the opaque region of a window is exactly the bounding
 region of the window as set via the shape extension.

Which then raises the question of the relationship between this and the
shape extension for an ARGB window; since I've rewritten things above
to specify things in terms of alpha value in the windows pixel contents, that
would imply that:

 For windows with an ARGB visual, and also a bounding region set via the
 shape extension, the effective opaque region is given by the intersection
 of the region set by this property and the bounding region set via the
 shape extension.

> The compositing manager MAY ignore this hint.

+        </para>
+        <para>
+Rationale: This gives the compositing manager more room for optimizations, e.g. by not
+drawing the occluded background.

Maybe "occluded portions behind the window." (background to me means root window
background)

+        </para>
+        </sect2>

Do those edits seem reasonable?

- Owen





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]