diff --git a/protocol/river-control-unstable-v1.xml b/protocol/river-control-unstable-v1.xml
index d770d7d..838bba5 100644
--- a/protocol/river-control-unstable-v1.xml
+++ b/protocol/river-control-unstable-v1.xml
@@ -19,32 +19,57 @@
This interface allows clients to run compositor commands and receive a
- success/failure response with a failure message if needed.
+ success/failure response with output or a failure message respectively.
+
+ Each command is built up in a series of add_argument requests and
+ executed with a run_command request. The first argument is the command
+ to be run.
+
+ A complete list of commands should be made available in the man page of
+ the compositor.
-
-
- A complete list of commands will be found in the man page for the
- compositor.
+
+
+ This request indicates that the client will not use the
+ river_control object any more. Objects that have been created
+ through this instance are not affected.
-
+
+
+
+
+ Arguments are stored by the server in the order they were sent until
+ the run_command request is made.
+
+
+
+
+
+
+ Execute the command built up using the add_argument request for the
+ given seat.
+
+
+ summary="callback object"/>
This object is created by the run_command request. Exactly one of the
- success or failure events will be sent.
+ success or failure events will be sent. This object will be destroyed
+ by the compositor after one of the events is sent.
- Send when the command has been successfully received and validated by
- the server and will be carried out.
+ Sent when the command has been successfully received and executed by
+ the compositor. Some commands may produce output, in which case the
+ output argument will be a non-empty string.
+