aboutsummaryrefslogtreecommitdiff
path: root/unstable/text-input
diff options
context:
space:
mode:
authorBhushan Shah <bshah@kde.org>2020-10-07 14:40:37 +0530
committerBhushan Shah <bhush94@gmail.com>2020-11-03 20:16:27 +0530
commit4ed0cafeefd9f81b974465ca495cbd9118508cdb (patch)
tree3c3e4db17651f4a54aaf29acd280b859ea10b586 /unstable/text-input
parent3a74660e94d85fde24f504cc9d4375d42192e84a (diff)
text-input: document behavior regarding multiple text-inputs
Currently protocol does not specify what should happen if multiple text-inputs are created by same client, which is why this is more or less undefined behavior currently in compositor implementations. If client has created more than one text-input objects and surface owned by the client is focused, then compositor must send enter event to all text-input objects, in case of enable request however only one text-input must be enabled per client per seat. Signed-off-by: Bhushan Shah <bshah@kde.org>
Diffstat (limited to 'unstable/text-input')
-rw-r--r--unstable/text-input/text-input-unstable-v3.xml13
1 files changed, 12 insertions, 1 deletions
diff --git a/unstable/text-input/text-input-unstable-v3.xml b/unstable/text-input/text-input-unstable-v3.xml
index 8b710fd..d5f6322 100644
--- a/unstable/text-input/text-input-unstable-v3.xml
+++ b/unstable/text-input/text-input-unstable-v3.xml
@@ -94,6 +94,12 @@
zwp_text_input_v3.disable when there is no longer any input focus on
the current surface.
+ Clients must not enable more than one text input on the single seat
+ and should disable the current text input before enabling the new one.
+ At most one instance of text input may be in enabled state per instance,
+ Requests to enable the another text input when some text input is active
+ must be ignored by compositor.
+
This request resets all state associated with previous enable, disable,
set_surrounding_text, set_text_change_cause, set_content_type, and
set_cursor_rectangle requests, as well as the state associated with
@@ -307,6 +313,9 @@
<description summary="enter event">
Notification that this seat's text-input focus is on a certain surface.
+ If client has created multiple text input objects, compositor must send
+ this event to all of them.
+
When the seat has the keyboard capability the text-input focus follows
the keyboard focus. This event sets the current surface for the
text-input object.
@@ -321,7 +330,9 @@
set.
The leave notification clears the current surface. It is sent before
- the enter notification for the new focus.
+ the enter notification for the new focus. After leave event, compositor
+ must ignore requests from any text input instances until next enter
+ event.
When the seat has the keyboard capability the text-input focus follows
the keyboard focus.