[PATCH weston 11/17] xdg-shell: Further clarify xdg_surface.resize semantics

Jonas Ådahl jadahl at gmail.com
Tue Apr 7 02:01:26 PDT 2015

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
 protocol/xdg-shell.xml | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml
index c2e1443..ef16b73 100644
--- a/protocol/xdg-shell.xml
+++ b/protocol/xdg-shell.xml
@@ -265,9 +265,7 @@
     <enum name="resize_edge">
       <description summary="edge values for resizing">
 	These values are used to indicate which edge of a surface
-	is being dragged in a resize operation. The server may
-	use this information to adapt its behavior, e.g. choose
-	an appropriate cursor image.
+	is being dragged in a resize operation.
       <entry name="none" value="0"/>
       <entry name="top" value="1"/>
@@ -289,6 +287,26 @@
 	The server may ignore resize requests depending on the state of
 	the surface (e.g. fullscreen or maximized).
+	If triggered, the client will receive configure events with the
+	"resize" state enum value and the expected sizes. See the "resize"
+	enum value for more details about what is required. The client
+	must also acknowledge configure events using "ack_configure". After
+	the resize is completed, the client will receive another "configure"
+	event without the resize state.
+	If triggered, the surface also will loose the focus of the device
+	(wl_pointer, wl_touch, etc) used for the resize. It is up to the
+	compositor display any indications, such as updating a pointer cursor,
+	during the resize. There is no guarantee that the device focus will
+	return when the resize is completed.
+	The edges parameter specifies how the surface should be resized,
+	and is one of the values of the resize_edge enum. The compositor
+	may use this information to update the surface position for
+	example when dragging the top left corner. The compositor may also
+	use this information to adapt its behavior, e.g. choose an
+	appropriate cursor image.
       <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat of the user event"/>
       <arg name="serial" type="uint" summary="the serial of the user event"/>

More information about the wayland-devel mailing list