On Sun, 2012-10-07 at 13:36 +0200, Adel Gadllah wrote: > Hi, > > 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.gadl...@gmail.com> > Date: Tue, 14 Feb 2012 14:30:28 +0100 > 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 / 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. > </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 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. 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. - Owen > + <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. > + </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 critical or don't > +benefit or even being hurt from being unredirected due to other reasons. > + </para> > + </sect2> > + _______________________________________________ wm-spec-list mailing list wm-spec-list@gnome.org https://mail.gnome.org/mailman/listinfo/wm-spec-list