[PATCH 2/2] xdg-shell: Further clarify xdg_surface.resize semantics

Jonas Ådahl jadahl at gmail.com
Tue May 5 00:35:19 PDT 2015


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

diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml
index fbd0093..9318bea 100644
--- a/protocol/xdg-shell.xml
+++ b/protocol/xdg-shell.xml
@@ -269,9 +269,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.
       </description>
       <entry name="none" value="0"/>
       <entry name="top" value="1"/>
@@ -289,10 +287,33 @@
 	Start a user-driven, interactive resize of the surface.
 
 	This request must be used in response to some sort of user action
-	like a button press, key press, or touch down event.
+	like a button press, key press, or touch down event. The passed
+	serial is used to determine what type of interactive resize (touch,
+	pointer, etc).
 
 	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 lose the focus of the device
+	(wl_pointer, wl_touch, etc) used for the resize. It is up to the
+	compositor to visually indicate that the resize is taking place,
+	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.
       </description>
       <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"/>
-- 
2.1.4



More information about the wayland-devel mailing list