text-input: Add actions

Signed-off-by: Tadeo Kondrak <me@tadeo.ca>
This commit is contained in:
Tadeo Kondrak 2021-03-25 23:07:40 -06:00 committed by Carlos Garnacho
parent 0dd05d436f
commit 6562cf724a

View file

@ -425,8 +425,10 @@
<event name="done"> <event name="done">
<description summary="apply changes"> <description summary="apply changes">
Instruct the application to apply changes to state requested by the Instruct the application to apply changes to state requested by the
preedit_string, commit_string and delete_surrounding_text events. The preedit_string, commit_string delete_surrounding_text, and action
state relating to these events is double-buffered, and each one events.
The state relating to these events is double-buffered, and each one
modifies the pending state. This event replaces the current state with modifies the pending state. This event replaces the current state with
the pending state. the pending state.
@ -439,6 +441,7 @@
4. Calculate surrounding text to send. 4. Calculate surrounding text to send.
5. Insert new preedit text in cursor position. 5. Insert new preedit text in cursor position.
6. Place cursor inside preedit text. 6. Place cursor inside preedit text.
7. Perform the requested action.
The serial number reflects the last state of the zwp_text_input_v3 The serial number reflects the last state of the zwp_text_input_v3
object known to the compositor. The value of the serial argument must object known to the compositor. The value of the serial argument must
@ -454,6 +457,51 @@
</description> </description>
<arg name="serial" type="uint"/> <arg name="serial" type="uint"/>
</event> </event>
<!-- Version 2 additions -->
<enum name="error" since="2">
<entry name="invalid_action" value="0" summary="an invalid or duplicate action was specified"/>
</enum>
<enum name="action" since="2">
<description summary="action">
A possible action to perform on a text input.
The submit action is intended for input entries that expect some sort of
activation after user interaction, e.g. the URL entry in a browser.
</description>
<entry name="none" value="0" summary="no action"/>
<entry name="submit" value="1" summary="the action is submitted"/>
</enum>
<event name="action" since="2">
<description summary="action performed">
An action was performed on this text input.
Values set with this event are double-buffered. They must be applied
and reset to initial on the next zwp_text_input_v3.done event.
The initial value of action is none.
</description>
<arg name="action" type="uint" enum="action" summary="action performed"/>
<arg name="serial" type="uint" summary="serial number of the action event"/>
</event>
<request name="set_available_actions" since="2">
<description summary="set the available actions">
Set the actions available for this text input.
Values set with this request are double-buffered. They will get applied
on the next zwp_text_input_v3.commit request.
If the available_actions array contains the none action, or contains the
same action multiple times, the compositor must raise the invalid_action
protocol error.
Initially, no actions are available.
</description>
<arg name="available_actions" type="array" summary="available actions"/>
</request>
</interface> </interface>
<interface name="zwp_text_input_manager_v3" version="2"> <interface name="zwp_text_input_manager_v3" version="2">