aboutsummaryrefslogtreecommitdiff
path: root/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'protocol')
-rw-r--r--protocol/river-window-management-unstable-v1.xml58
1 files changed, 58 insertions, 0 deletions
diff --git a/protocol/river-window-management-unstable-v1.xml b/protocol/river-window-management-unstable-v1.xml
new file mode 100644
index 0000000..3587ae5
--- /dev/null
+++ b/protocol/river-window-management-unstable-v1.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="river_window_management_unstable_v1">
+ <copyright>
+ Copyright 2020 Isaac Freund
+
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ </copyright>
+
+ <interface name="zriver_window_manager_v1" version="1">
+ <description summary="manage windows and track windowing state">
+ This protocol allows clients to run windowing commands and recieve
+ information about the current windowing state.
+ </description>
+
+ <request name="run_command">
+ <description summary="run a compositor command">
+ A complete list of commands will be found in the man page.
+ TODO: write the man page.
+ </description>
+ <arg name="command" type="string" summary="the command to run"/>
+ </request>
+
+ <enum name="error">
+ <entry name="invalid_command" value="0" summary="the command is invalid"/>
+ </enum>
+
+ <event name="focus">
+ <description summary="sent when a view gains focus">
+ </description>
+ <arg name="app_id" type="string" summary="the app_id of the view"/>
+ <arg name="title" type="string" summary="the title of the view"/>
+ </event>
+
+ <event name="output_windowing_state">
+ <description summary="signal output windowing state change">
+ Sent whenever the windowing state of an output changes. The output_name
+ argument is the same as the name returned by the xdg-output protocol.
+ Tags are sent as a bitfield, if a view has one of the focused tags set,
+ then it is displayed on the output.
+ </description>
+ <arg name="output_name" type="string" summary="the name of the output"/>
+ <arg name="output_tags" type="uint"
+ summary="the currently focused tags of the output"/>
+ <arg name="view_tags" type="array"
+ summary="the current tags of each view on the output"/>
+ </event>
+ </interface>
+</protocol>