summaryrefslogtreecommitdiff
path: root/protocol
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2015-09-01 10:32:39 -0500
committerBryce Harrington <bryce@osg.samsung.com>2015-09-30 13:06:44 -0700
commitdcba1a10d3baf035a6cc468e6d3ca7c5fcc5d8a8 (patch)
tree791ff69a32bc3c37f802fc510f777b6998d5ea6a /protocol
parent0b7da01c04292dec05cfa15281e23a1a6db0e355 (diff)
downloadweston-dcba1a10d3baf035a6cc468e6d3ca7c5fcc5d8a8.tar.gz
xdg-shell: Clarify ack_configure behaviour
Right now many toolkits (toytoolkit, gtk+ and EFL) will send an ack_configure request immediately in response to a configure event, even if they're not immediately committing the surface at that time. This leads to a situation where multiple configures receive ack_configure before any commit happens. There's really no reason for that sequence of events to bother a compositor, so this just clarifies the language to make it ok. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Diffstat (limited to 'protocol')
-rw-r--r--protocol/xdg-shell.xml12
1 files changed, 10 insertions, 2 deletions
diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml
index f98e760d..1d37e361 100644
--- a/protocol/xdg-shell.xml
+++ b/protocol/xdg-shell.xml
@@ -398,8 +398,8 @@
<description summary="ack a configure event">
When a configure event is received, if a client commits the
surface in response to the configure event, then the client
- must make a ack_configure request before the commit request,
- passing along the serial of the configure event.
+ must make an ack_configure request sometime before the commit
+ request, passing along the serial of the configure event.
For instance, the compositor might use this information to move
a surface to the top left only when the client has drawn itself
@@ -407,6 +407,14 @@
If the client receives multiple configure events before it
can respond to one, it only has to ack the last configure event.
+
+ A client is not required to commit immediately after sending
+ an ack_configure request - it may even ack_configure several times
+ before its next surface commit.
+
+ The compositor expects that the most recently received
+ ack_configure request at the time of a commit indicates which
+ configure event the client is responding to.
</description>
<arg name="serial" type="uint" summary="the serial from the configure event"/>
</request>