Proposing _NET_WM_OPAQUE_REGION



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.

Kind regards,
Philipp

[1] http://www.mail-archive.com/wm-spec-list gnome org/msg00740.html
[2] http://commits.kde.org/kde-workspace/9e3b75603f33cb6ddab564a4eb05e8521c652506

>From 84bab2732c00f68d1dab802cdc6ec08dcf327293 Mon Sep 17 00:00:00 2001
From: Philipp Knechtges <philipp-dev knechtges com>
Date: Sun, 20 Nov 2011 13:09:18 +0100
Subject: [PATCH] Adding _NET_WM_OPAQUE_REGION

Adding a new property _NET_WM_OPAQUE_REGION that as the name says
represents an area of the window that occludes the background.

The implementation is the same as discussed in
http://www.mail-archive.com/wm-spec-list gnome org/msg00715.html
---
 wm-spec/wm-spec.xml |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index f7676e4..6234438 100644
--- a/wm-spec/wm-spec.xml
+++ b/wm-spec/wm-spec.xml
@@ -1553,6 +1553,23 @@ window's frame.  left, right, top and bottom are widths of the
 respective borders added by the Window Manager.
 	</para>
 	</sect2>
+
+	<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. Inherent in this definition is that the property information is only
+considered to be meaningful if the window is an ARGB visual. 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.
+        </para>
+        </sect2>
 </sect1>
 <sect1>
 	<title>Window Manager Protocols</title>
-- 
1.7.6.4



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