Re: Add unredirect block / request hints



On Thu, 2013-01-10 at 16:55 +0100, Adel Gadllah wrote:
> Hi,
> 
> New version of the patch is attached.

Looks good. Pushed with minor formatting and text changes, the
most significant ones being:

 A) I documented 0 as meaning "no preference" and all other values as
    reserved, should be treated the same as 0.

 B) I changed the example of a client that wants to avoid bypassing to
    be: "An application which creates pop-up windows might always want
    to run composited to avoid exposes." Since the current language
    forbids the compositor from bypassing windows where that would
    change appearance, ARGB and shaped windows seemed like poor
    examples.

Thanks!

- Owen

>From 77da08959a92a9873794ca0242d0a3ffea33befc Mon Sep 17 00:00:00 2001
From: Adel Gadllah <adel gadllah gmail com>
Date: Fri, 25 Jan 2013 14:28:05 -0500
Subject: [PATCH] Add _NET_WM_BYPASS_COMPOSITOR hint

Adds a property that allows client windows to hint the compositor that they
should or should never be unredirected / run uncomposited.
---
 wm-spec/wm-spec.xml | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index 87dc02d..08eef15 100644
--- a/wm-spec/wm-spec.xml
+++ b/wm-spec/wm-spec.xml
@@ -1578,6 +1578,29 @@ 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, CARDINAL/32
+]]></programlisting>
+        <para>
+The Client MAY set this property to hint the compositor that the
+window would benefit from running uncomposited (i.e not redirected
+offscreen) or that the window might be hurt from being uncomposited.
+A value of 0 indicates no preference. A value of 1 hints the
+compositor to disabling compositing of this window. A value of 2 hints
+the compositor to not disabling compositing of this window. All other
+values are reserved and should be treated the same as a value of
+0. The compositing manager MAY bypass compositing for both fullscreen
+and non-fullscreen windows if bypassing is requested, but MUST NOT
+bypass if it would cause differences from the composited appearance.
+        </para>
+        <para>
+Rationale: Some applications like fullscreen games might want run
+without the overhead of being redirected offscreen (to avoid extra
+copies) and thus perform better. An application which creates
+pop-up windows might always want to run composited to avoid exposes.
+        </para>
+       </sect2>
 </sect1>
 <sect1>
 	<title>Window Manager Protocols</title>
@@ -2284,6 +2307,9 @@ OR OTHER DEALINGS IN THE SOFTWARE.
 		<title>Changes since 1.4draft</title>
 		<itemizedlist>
 			<listitem><para>
+Added _NET_WM_BYPASS_COMPOSITOR
+			</para></listitem>
+			<listitem><para>
 Added _NET_WM_STATE_FOCUSED.
 			</para></listitem>
 			<listitem><para>
-- 
1.8.0.2



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