Re: Add unredirect block / request hints

Am 09.01.2013 18:29, schrieb Owen Taylor:
On Sun, 2012-10-07 at 13:36 +0200, Adel Gadllah wrote:

I have attached an updated patch based on an email discussion with Martin.

 From 047bae702be8180c50119660c858111c5088450f Mon Sep 17 00:00:00 2001
From: Adel Gadllah <adel gadllah gmail com>
Date: Tue, 14 Feb 2012 14:30:28 +0100

Add properties that allows client windows to hint the compositor that they
should or should never be unredirected / run uncomposited.
  wm-spec/wm-spec.xml | 35 +++++++++++++++++++++++++++++++++++
  1 Datei geändert, 35 Zeilen hinzugefügt(+)

diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index 87dc02d..858acbb 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.
+	<sect2><title>_NET_WM_BYPASS_COMPOSITOR</title>
+        <programlisting><![CDATA[
+        <para>
+The Client MAY set this property to hint the compositor that the window would
+benefit from running uncomposited (i.e not redirected offscreen).
+The compositing manager MAY ignore this hint.
+        </para>
Why is this property an ATOM? The behavior of the patch you landed for
Mutter is to treat it as a CARDINAL and ignore the property (treat it as
unset) unless it has the value '1'.

I think I would have replaced both properties with a single enumeration:

  0 (or unset) - no preference
  1 - please bypass
  2 - please do not bypass

which also would avoid the question of having both properties set.

This does indeed make sense. Will follow up with a new patch that uses an enumaration instead.

If we
do leave two properties (if anybody has already shipped it in this form
or we think it makes more sense in the end), then I'd like the spec to
explicitly say which one wins.

I'd also like us to explicitly say that 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.



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