aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--staging/ext-action-binder/ext-action-binder-v1.xml65
1 files changed, 45 insertions, 20 deletions
diff --git a/staging/ext-action-binder/ext-action-binder-v1.xml b/staging/ext-action-binder/ext-action-binder-v1.xml
index 9373a62..a32c463 100644
--- a/staging/ext-action-binder/ext-action-binder-v1.xml
+++ b/staging/ext-action-binder/ext-action-binder-v1.xml
@@ -53,8 +53,7 @@
</request>
<request name="create_binding">
- <description summary="create a binding">
- </description>
+ <description summary="create a binding"/>
<arg name="binding" type="new_id" interface="ext_action_binding_v1" summary="the new binding" />
</request>
</interface>
@@ -66,37 +65,63 @@
</description>
</request>
- <request name="bind">
- <description summary="binds an action">
- Bind an action to the object. this is a one-time request.
- After calling bind, the "action_bound" event is fired by the compositor
- with the status of the request.
- Subsequent calls to bind should be ignored.
+ <request name="set_name">
+ <description summary="sets the namespace:name of a binding">
+ Sets the namespace:name of the binding. This a kind of action.
</description>
<arg name="action_namespace" type="string" summary="the action namespace" />
<arg name="action_name" type="string" summary="the action name" />
+ </request>
+
+ <request name="set_description">
+ <description summary="sets the human-readable description of a binding">
+ This description may be used by the compositor to render a ui for bindings.
+ </description>
<arg name="description" type="string" summary="a human-readable description of what the binding does" />
+ </request>
+
+ <request name="set_trigger_hint">
+ <description summary="sets the machine-readable trigger of a binding">
+ The trigger is a suggestion to the compositor, and the action should not rely
+ to being set to that specific trigger.
+ The client does not know which trigger was actually set, but when a binding is
+ bound, it recieves from the compositor a human readable string describing the trigger,
+ if any, so it could show it in a ui.
+ </description>
<arg name="preferred_trigger" type="string" summary="a trigger that the client would like to trigger the action" />
</request>
- <enum name="result">
- <entry name="bound" value="0"
- summary="the bind to the action was successful" />
- <entry name="rejected" value="1"
- summary="the bind was rejected by the compositor" />
+ <request name="bind">
+ <description summary="binds an action">
+ Bind an action to the object. this is a one-time request.
+ After calling bind, either the "bound" or "rejected" event is sent.
+ Subsequent calls to bind should be ignored.
+ If no action has been set for the binding, the error "invalid_action" is raised.
+ </description>
+ </request>
+
+ <enum name="error">
+ <entry name="invalid_action" value="0" summary="the binding has no action set"/>
</enum>
- <event name="action_bound">
- <description summary="the compositor processed the bind request">
- After the compositor processes a bind request, it calls this
- event to notify the client of the result.
- in case of success, the trigger set to this action is returned, if any.
- in case of failure, this action is destroyed and should not be used anymore.
+ <event name="bound">
+ <description summary="the compositor bound the binding to an action">
+ After the compositor processes a bind request, if the action was
+ bound to this binding, it calls this event to notify the client of the result.
</description>
- <arg name="status" type="uint" enum="result" summary="" />
<arg name="trigger" type="string" summary="human-readable string describing the trigger for the action" />
</event>
+ <event name="rejected">
+ <description summary="the compositor rejected the binding">
+ After the compositor processes a bind request, if the binding was
+ rejected, it calls this event to notify the client of the result.
+ This event may be sent after a binding was bound, should the compositor
+ want to remove the binding.
+ After this event, the binding is destroyed and can't be used anymore.
+ </description>
+ </event>
+
<enum name="trigger_type">
<description summary="type of binding triggered">
Depending on the user configuration, an action can be either one-off or