diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml index 39ecf8a..c2dc013 100644 --- a/stable/xdg-shell/xdg-shell.xml +++ b/stable/xdg-shell/xdg-shell.xml @@ -569,6 +569,8 @@ information to move a surface to the top left only when the client has drawn itself for the maximized or fullscreen state. + The following applies to protocol version 6 or earlier. + If the client receives multiple configure events before it can respond to one, it only has to ack the last configure event. Acking a configure event that was never sent raises an invalid_serial @@ -592,6 +594,23 @@ request referencing a serial from a configure event issued before the event identified by the last ack_configure request for the same xdg_surface. Doing so will raise an invalid_serial error. + + The following applies to protocol versions 7 or later. + + Since version 7, ack_configure is double-buffered state. See + wl_surface.commit for details. + + The client may send ack_configure multiple times to change the acked + configuration sequence before committing. Committing a configuration + sequence consumes that sequence and all earlier sequences. + + A commit must not contain a configuration sequences that has already + been consumed. Doing so will raise an invalid_serial error. + + Committing a configuration sequence indicates that the state in the + commit is suitable for the state requested by that configuration + sequence. If a commit does not contain a configuration sequence, the + committed sequence is unchanged.