Re: Add unredirect block / request hints



Follow up from my last mail including a patch with the proposed hints.

Subject: [PATCH] Add _NET_WM_BYPASS_COMPOSITOR and
_NET_WM_DONT_BYPASS_COMPOSITOR

Add properties that allows client windows to hint the compositor that they
should or should never be unredirected.
---
 wm-spec/wm-spec.xml |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index 87dc02d..4698c16 100644
--- a/wm-spec/wm-spec.xml
+++ b/wm-spec/wm-spec.xml
@@ -1578,6 +1578,38 @@ Rationale: This gives the compositing manager
more room for optimizations.
 For example, it can avoid drawing occluded portions behind the window.
         </para>
         </sect2>
+
+	<sect2><title>_NET_WM_BYPASS_COMPOSITOR</title>
+        <programlisting><![CDATA[
+_NET_WM_BYPASS_COMPOSITOR, ATOM
+]]></programlisting>
+        <para>
+The Client MAY set this property to hint the compositor that the window would
+benefit from not being redirected and therefor should be undredirected.
+The compositing manager MAY ignore this hint.
+        </para>
+        <para>
+Rationale: Some applications like fullscreen games might want to be
unredirected
+to avoid extra copies and thus perform better.
+        </para>
+        </sect2>
+
+	<sect2><title>_NET_WM_DONT_BYPASS_COMPOSITOR</title>
+        <programlisting><![CDATA[
+_NET_WM_DONT_BYPASS_COMPOSITOR, ATOM
+]]></programlisting>
+        <para>
+The Client MAY set this property to hint the compositor that the
window should not
+be unredirected by any heuristic.
+The compositing manager MAY ignore this hint.
+        </para>
+        <para>
+Rationale: Some windows might fall into a compositors unredirect heuristics for
+instance by being fullscreen but might not be performance ciritical or don't
+benefit or even being hurt from being unredirected due to other reasons.
+        </para>
+        </sect2>
+
 </sect1>
 <sect1>
 	<title>Window Manager Protocols</title>
@@ -2283,6 +2315,9 @@ OR OTHER DEALINGS IN THE SOFTWARE.
 	    <sect2>
 		<title>Changes since 1.4draft</title>
 		<itemizedlist>
+            <listitem><para>
+Added _NET_WM_BYPASS_COMPOSITOR and _NET_WM_DONT_BYPASS_COMPOSITOR.
+            </para></listitem>
 			<listitem><para>
 Added _NET_WM_STATE_FOCUSED.
 			</para></listitem>
-- 
1.7.7.6


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