Clarify version and event/request order
Change-Id: I7f41a76b716112f49eac766dde08e7c5c52fa64a
diff --git a/protocol/input-method.xml b/protocol/input-method.xml
index c4ae5c4..a5bb826 100644
--- a/protocol/input-method.xml
+++ b/protocol/input-method.xml
@@ -2,7 +2,7 @@
<protocol name="input_method">
<copyright>
Copyright © 2012 Intel Corporation
- Copyright © 2013-2019 LG Electronics, Inc.
+ Copyright © 2013-2020 LG Electronics, Inc.
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@ -188,13 +188,6 @@
<arg name="purpose" type="uint"/>
</event>
- <event name="enter_key_type">
- <description summary="set type of enter key">
- Sets the type of the enter key on an input panel (virtual keyboard).
- </description>
- <arg name="enter_key_type" type="uint"/>
- </event>
-
<event name="invoke_action">
<description summary="invoke action">
Invokes a button action on a given position.
@@ -225,6 +218,13 @@
<arg name="text" type="string"/>
</event>
+ <event name="enter_key_type">
+ <description summary="set type of enter key">
+ Sets the type of the enter key on an input panel (virtual keyboard).
+ </description>
+ <arg name="enter_key_type" type="uint"/>
+ </event>
+
</interface>
<interface name="input_method" version="2">
@@ -267,7 +267,7 @@
<arg name="context" type="object" interface="input_method_context"/>
</event>
- <request name="set_display_id">
+ <request name="set_display_id" since="2">
<description summary="set display id">
Sets the id of the display corresponding.
</description>
diff --git a/protocol/text.xml b/protocol/text.xml
index 980d61f..e4f1096 100644
--- a/protocol/text.xml
+++ b/protocol/text.xml
@@ -3,7 +3,7 @@
<copyright>
Copyright © 2012 Intel Corporation
- Copyright © 2013-2019 LG Electronics, Inc.
+ Copyright © 2013-2020 LG Electronics, Inc.
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@ -166,13 +166,6 @@
<entry name="previous" value="7" summary="show a Previous button"/>
</enum>
- <request name="set_enter_key_type">
- <description summary="set type of enter key">
- Sets the type of the enter key on an input panel (virtual keyboard).
- </description>
- <arg name="enter_key_type" type="uint"/>
- </request>
-
<request name="invoke_action">
<description summary="invoke action">
Invokes a button action on a given position.
@@ -189,32 +182,6 @@
</description>
</request>
- <request name="set_max_text_length">
- <description summary="set max length of input field">
- Sets the maximum length of an input field.
- </description>
- <arg name="length" type="uint"/>
- </request>
-
- <request name="set_platform_data">
- <description summary="set platform specific data">
- Sets the platform specific data (text).
- </description>
- <arg name="text" type="string"/>
- </request>
-
- <request name="show_input_panel">
- <description summary="show input panels">
- Requests input panels (virtual keyboard) to show.
- </description>
- </request>
-
- <request name="hide_input_panel">
- <description summary="hide input panels">
- Requests input panels (virtual keyboard) to hide.
- </description>
- </request>
-
<event name="commit_string">
<description summary="text to commit">
Notifies when text should be inserted into the editor widget. The text
@@ -355,6 +322,18 @@
<arg name="state" type="uint"/>
</event>
+ <request name="show_input_panel">
+ <description summary="show input panels">
+ Requests input panels (virtual keyboard) to show.
+ </description>
+ </request>
+
+ <request name="hide_input_panel">
+ <description summary="hide input panels">
+ Requests input panels (virtual keyboard) to hide.
+ </description>
+ </request>
+
<event name="input_panel_rect">
<description summary="rect of the input panel">
Notifies when the geometry of the input panel changes in surface local
@@ -366,6 +345,27 @@
<arg name="height" type="uint"/>
</event>
+ <request name="set_max_text_length">
+ <description summary="set max length of input field">
+ Sets the maximum length of an input field.
+ </description>
+ <arg name="length" type="uint"/>
+ </request>
+
+ <request name="set_platform_data">
+ <description summary="set platform specific data">
+ Sets the platform specific data (text).
+ </description>
+ <arg name="text" type="string"/>
+ </request>
+
+ <request name="set_enter_key_type">
+ <description summary="set type of enter key">
+ Sets the type of the enter key on an input panel (virtual keyboard).
+ </description>
+ <arg name="enter_key_type" type="uint"/>
+ </request>
+
<request name="set_input_panel_rect">
<description summary="set rect of the input panel">
Requests the geometry of the input panel to change. The geometry should
diff --git a/protocol/webos-input-manager.xml b/protocol/webos-input-manager.xml
index bea7f3c..4114d55 100644
--- a/protocol/webos-input-manager.xml
+++ b/protocol/webos-input-manager.xml
@@ -2,7 +2,7 @@
<protocol name="webos_input_manager">
<copyright>
- Copyright (c) 2014-2019 LG Electronics, Inc.
+ Copyright (c) 2014-2020 LG Electronics, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -25,6 +25,14 @@
get_webos_seat(seat).
</description>
+ <request name="get_webos_seat">
+ <description summary="get webos seat">
+ Returns a webos_seat associated with the seat.
+ </description>
+ <arg name="id" type="new_id" interface="wl_webos_seat"/>
+ <arg name="seat" type="object" interface="wl_seat"/>
+ </request>
+
<event name="cursor_visibility">
<description summary="current cursor visibility">
If the current cursor visibility is chagned, notify it.
@@ -40,14 +48,6 @@
<arg name="visibility" type="uint" summary="boolean for the cursor visibility"/>
</request>
- <request name="get_webos_seat">
- <description summary="get webos seat">
- Returns a webos_seat associated with the seat.
- </description>
- <arg name="id" type="new_id" interface="wl_webos_seat"/>
- <arg name="seat" type="object" interface="wl_seat"/>
- </request>
-
</interface>
<interface name="wl_webos_seat" version="1">
diff --git a/protocol/webos-shell.xml b/protocol/webos-shell.xml
index b93b057..b174cf4 100644
--- a/protocol/webos-shell.xml
+++ b/protocol/webos-shell.xml
@@ -2,7 +2,7 @@
<protocol name="webos_shell">
<copyright>
- Copyright (c) 2013-2019 LG Electronics, Inc.
+ Copyright (c) 2013-2020 LG Electronics, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -38,165 +38,165 @@
</description>
<arg name="id" type="new_id" interface="wl_webos_shell_surface"/>
<arg name="surface" type="object" interface="wl_surface"/>
- </request>
+ </request>
- </interface>
+ </interface>
- <interface name="wl_webos_shell_surface" version="1">
- <description summary="interface to handle webos shell surfaces">
- This allows the client to associate an normal surface with a
- shell surface. The shell surface provides webOS specific functionality
- to surfaces.
+ <interface name="wl_webos_shell_surface" version="1">
+ <description summary="interface to handle webos shell surfaces">
+ This allows the client to associate an normal surface with a
+ shell surface. The shell surface provides webOS specific functionality
+ to surfaces.
+ </description>
+
+ <request name="set_location_hint">
+ <description summary="sets the preferred location hint">
+ The location hint is a guideline to the compositor where
+ to place the surface. The compositor will do its best to
+ place it there, however this is not guaranteed. Currently
+ The location hint is only applied to _WEBOS_WINDOW_TYPE_POPUP
+ and _WEBOS_WINDOW_TYPE_SYSTEM_UI surfaces.
</description>
+ <arg name="hint" type="uint"/>
+ </request>
- <request name="set_location_hint">
- <description summary="sets the preferred location hint">
- The location hint is a guideline to the compositor where
- to place the surface. The compositor will do its best to
- place it there, however this is not guaranteed. Currently
- The location hint is only applied to _WEBOS_WINDOW_TYPE_POPUP
- and _WEBOS_WINDOW_TYPE_SYSTEM_UI surfaces.
- </description>
- <arg name="hint" type="uint"/>
- </request>
+ <enum name="location_hint">
+ <description summary="location mask for the surface">
+ Using this mask the surface can be positioned onto
+ different locations on screen. By not using absolute
+ coordinates we can create greater flexibility in the
+ compositor and the clients.
+ </description>
+ <entry name="north" value="1"/>
+ <entry name="west" value="2"/>
+ <entry name="south" value="4"/>
+ <entry name="east" value="8"/>
+ <entry name="center" value="16"/>
+ </enum>
- <enum name="location_hint">
- <description summary="location mask for the surface">
- Using this mask the surface can be positioned onto
- different locations on screen. By not using absolute
- coordinates we can create greater flexibility in the
- compositor and the clients.
- </description>
- <entry name="north" value="1"/>
- <entry name="west" value="2"/>
- <entry name="south" value="4"/>
- <entry name="east" value="8"/>
- <entry name="center" value="16"/>
- </enum>
+ <enum name="state">
+ <description summary="the state of the surface">
+ The state provides info to the client on how the compositor has placed
+ the surface.
- <enum name="state">
- <description summary="the state of the surface">
- The state provides info to the client on how the compositor has placed
- the surface.
+ The default state will indicate to the client that it is windowed. The
+ "position_changed" event will tell the position in screen coordinates
+ when the surface is in this state.
+ </description>
+ <entry name="default" value="0"/>
+ <entry name="minimized" value="1"/>
+ <entry name="maximized" value="2"/>
+ <entry name="fullscreen" value="3"/>
+ </enum>
- The default state will indicate to the client that it is windowed. The
- "position_changed" event will tell the position in screen coordinates
- when the surface is in this state.
- </description>
- <entry name="default" value="0"/>
- <entry name="minimized" value="1"/>
- <entry name="maximized" value="2"/>
- <entry name="fullscreen" value="3"/>
- </enum>
+ <event name="state_changed">
+ <description summary="the surface state was changed">
+ The compositor or the user has taken action that has resulted in
+ this surface to change state.
+ </description>
+ <arg name="state" type="uint"/>
+ </event>
- <request name="set_state">
- <description summary="sets the surface state">
- The client requests its surface state to the compositor.
- </description>
- <arg name="state" type="uint"/>
- </request>
+ <event name="position_changed">
+ <description summary="the surface position on screen changed">
+ This event will only be sent the surfaces that are in their default
+ state. It will be not sent for fullscreen surfaces nor for surfaces
+ that are minimized.
+ </description>
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ </event>
- <request name="set_property">
- <description summary="sets the surface property">
- The client sets the surface property to the compositor. The property
- is given by a string pair (name, value).
- </description>
- <arg name="name" type="string"/>
- <arg name="value" type="string"/>
- </request>
+ <event name="close">
+ <description summary="request closing of window">
+ The close event is sent when the compositor requests closing
+ of a window, e.g. through some gesture or other interaction,
+ without explicitly quitting or killing the client.
+ </description>
+ </event>
- <enum name="webos_key">
- <description summary="the key that the surface handles">
- The client uses wl_webos_shell_surface.set_key_mask to notify server
- that it will handle specific keys only.
- </description>
- <entry name="home" value="1"/>
- <entry name="back" value="2"/>
- <entry name="exit" value="4"/>
- <entry name="navigation_left" value="8"/>
- <entry name="navigation_right" value="16"/>
- <entry name="navigation_up" value="32"/>
- <entry name="navigation_down" value="64"/>
- <entry name="navigation_ok" value="128"/>
- <entry name="numeric_keys" value="256"/>
- <entry name="remote_color_red" value="512"/>
- <entry name="remote_color_green" value="1024"/>
- <entry name="remote_color_yellow" value="2048"/>
- <entry name="remote_color_blue" value="4096"/>
- <entry name="remote_programme_group" value="8192"/>
- <entry name="remote_playback_group" value="16384"/>
- <entry name="remote_teletext_group" value="32768"/>
- <entry name="local_left" value="65536"/>
- <entry name="local_right" value="131072"/>
- <entry name="local_up" value="262144"/>
- <entry name="local_down" value="524288"/>
- <entry name="local_ok" value="1048576"/>
- <entry name="remote_magnifier_group" value="2097152"/>
- <entry name="minimal_playback_group" value="4194304"/>
- <entry name="guide" value="8388608"/>
- <entry name="default" value="0xFFFFFFF8"/>
- </enum>
+ <request name="set_state">
+ <description summary="sets the surface state">
+ The client requests its surface state to the compositor.
+ </description>
+ <arg name="state" type="uint"/>
+ </request>
- <request name="set_key_mask">
- <description summary="sets the key mask for this surface">
- A value of '1' in the mask indicates that the respective key event (both press and release)
- will be delivered to the client. Bitwise XOR operation against the default mask value and
- a supported individual values will result in that key not being delivered to the client.
- Notice that the default value omits certain keys.
+ <request name="set_property">
+ <description summary="sets the surface property">
+ The client sets the surface property to the compositor. The property
+ is given by a string pair (name, value).
+ </description>
+ <arg name="name" type="string"/>
+ <arg name="value" type="string"/>
+ </request>
- The compositor is free to ignore certain keys even if set to '1' depending on the overall
- system UI behaviour, most commonly this will mean the HOME key.
+ <event name="exposed">
+ <description summary="indicates what areas are exposed">
+ The array contains non-overlapping rectangles that define
+ areas that are visible in this surface. The array elements
+ are a series of ints arranged as follows x,y,w,h,x,y,w,h,-1.
+ The values will not contain negative numbers and the -1 is
+ treated as a terminating marker.
+ </description>
+ <arg name="rectangles" type="array"/>
+ </event>
- NOTE: This protocol will eventually replace the string property based key filtering.
- </description>
- <arg name="webos_key" type="uint"/>
- </request>
+ <event name="state_about_to_change">
+ <description summary="the surface state is about to change">
+ Be sure that the actual state should not be changed with this.
+ Client can only prepare that state will be changed.
+ </description>
+ <arg name="state" type="uint"/>
+ </event>
- <event name="state_changed">
- <description summary="the surface state was changed">
- The compositor or the user has taken action that has resulted in
- this surface to change state.
- </description>
- <arg name="state" type="uint"/>
- </event>
+ <enum name="webos_key">
+ <description summary="the key that the surface handles">
+ The client uses wl_webos_shell_surface.set_key_mask to notify server
+ that it will handle specific keys only.
+ </description>
+ <entry name="home" value="1"/>
+ <entry name="back" value="2"/>
+ <entry name="exit" value="4"/>
+ <entry name="navigation_left" value="8"/>
+ <entry name="navigation_right" value="16"/>
+ <entry name="navigation_up" value="32"/>
+ <entry name="navigation_down" value="64"/>
+ <entry name="navigation_ok" value="128"/>
+ <entry name="numeric_keys" value="256"/>
+ <entry name="remote_color_red" value="512"/>
+ <entry name="remote_color_green" value="1024"/>
+ <entry name="remote_color_yellow" value="2048"/>
+ <entry name="remote_color_blue" value="4096"/>
+ <entry name="remote_programme_group" value="8192"/>
+ <entry name="remote_playback_group" value="16384"/>
+ <entry name="remote_teletext_group" value="32768"/>
+ <entry name="local_left" value="65536"/>
+ <entry name="local_right" value="131072"/>
+ <entry name="local_up" value="262144"/>
+ <entry name="local_down" value="524288"/>
+ <entry name="local_ok" value="1048576"/>
+ <entry name="remote_magnifier_group" value="2097152"/>
+ <entry name="minimal_playback_group" value="4194304"/>
+ <entry name="guide" value="8388608"/>
+ <entry name="default" value="0xFFFFFFF8"/>
+ </enum>
- <event name="position_changed">
- <description summary="the surface position on screen changed">
- This event will only be sent the surfaces that are in their default
- state. It will be not sent for fullscreen surfaces nor for surfaces
- that are minimized.
- </description>
- <arg name="x" type="int"/>
- <arg name="y" type="int"/>
- </event>
+ <request name="set_key_mask">
+ <description summary="sets the key mask for this surface">
+ A value of '1' in the mask indicates that the respective key event (both press and release)
+ will be delivered to the client. Bitwise XOR operation against the default mask value and
+ a supported individual values will result in that key not being delivered to the client.
+ Notice that the default value omits certain keys.
- <event name="close">
- <description summary="request closing of window">
- The close event is sent when the compositor requests closing
- of a window, e.g. through some gesture or other interaction,
- without explicitly quitting or killing the client.
- </description>
- </event>
+ The compositor is free to ignore certain keys even if set to '1' depending on the overall
+ system UI behaviour, most commonly this will mean the HOME key.
- <event name="exposed">
- <description summary="indicates what areas are exposed">
- The array contains non-overlapping rectangles that define
- areas that are visible in this surface. The array elements
- are a series of ints arranged as follows x,y,w,h,x,y,w,h,-1.
- The values will not contain negative numbers and the -1 is
- treated as a terminating marker.
- </description>
- <arg name="rectangles" type="array"/>
- </event>
+ NOTE: This protocol will eventually replace the string property based key filtering.
+ </description>
+ <arg name="webos_key" type="uint"/>
+ </request>
- <event name="state_about_to_change">
- <description summary="the surface state is about to change">
- Be sure that the actual state should not be changed with this.
- Client can only prepare that state will be changed.
- </description>
- <arg name="state" type="uint"/>
- </event>
-
- </interface>
+ </interface>
</protocol>
diff --git a/protocol/webos-surface-group.xml b/protocol/webos-surface-group.xml
index 6f321f3..038bd27 100644
--- a/protocol/webos-surface-group.xml
+++ b/protocol/webos-surface-group.xml
@@ -2,7 +2,7 @@
<protocol name="webos_surface_group">
<copyright>
- Copyright (c) 2014-2019 LG Electronics, Inc.
+ Copyright (c) 2014-2020 LG Electronics, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -136,6 +136,23 @@
<arg name="surface" type="object" interface="wl_surface"/>
</request>
+ <event name="owner_destroyed">
+ <description summary="sent to clients attached to this group">
+ If the owner crashes or normally destroys this group the attached
+ client will receive this notification.
+
+ Since compositor does not know what to do with client surface still
+ attached to this group it will not show them. A well behaving client
+ will 'detach' from this group and release its assosicated resource
+ </description>
+ </event>
+
+ <request name="destroy" type="destructor">
+ <description summary="destroy object">
+ Destroys the surface group object.
+ </description>
+ </request>
+
<request name="focus_owner">
<description summary="transfers keyboard focus to group owner surface">
Using "focus_owner" a surface-group-client or a surface-group-owner can transfer
@@ -151,23 +168,6 @@
<arg name="layer" type="string"/>
</request>
- <request name="destroy" type="destructor">
- <description summary="destroy object">
- Destroys the surface group object.
- </description>
- </request>
-
- <event name="owner_destroyed">
- <description summary="sent to clients attached to this group">
- If the owner crashes or normally destroys this group the attached
- client will receive this notification.
-
- Since compositor does not know what to do with client surface still
- attached to this group it will not show them. A well behaving client
- will 'detach' from this group and release its assosicated resource
- </description>
- </event>
-
</interface>
<interface name="wl_webos_surface_group_layer" version="1">