diff --git a/unstable/text-input/text-input-unstable-v3.xml b/unstable/text-input/text-input-unstable-v3.xml index 3b8ed38..2803661 100644 --- a/unstable/text-input/text-input-unstable-v3.xml +++ b/unstable/text-input/text-input-unstable-v3.xml @@ -283,15 +283,18 @@ empty values get applied, subsequent attempts to change them may have no effect. - As of version 2, the values sent with this request are not used - immediately after they are applied to the text-input state. + As of version 2, the zwp_text_input_v3.commit request does not apply + values sent with this request. Instead, it stores them in a separate + "committed" area. The committed values, if still valid, get applied on + the next wl_surface.commit request on the surface with text-input focus. + Both committed and applied values get invalidated on: - After the pending state is applied with the zwp_text_input_v3.commit - request, the following wl_surface.commit request on the surface with - text-input focus will cause the values to become active. + - the next committed enable or disable request, or + - a change of the focused surface of the text-input (leave or enter events). - If the surface with text-input focus changes before a wl_surface.commit - request is sent, the values are discarded. + This double stage application allows the compositor to position + the input method popup in the same frame as the contents + of the text on the surface are updated.