diff options
| author | Isaac Freund <ifreund@ifreund.xyz> | 2020-04-23 15:53:24 +0200 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2020-05-19 11:22:51 +0200 |
| commit | 82d74d938c0e54bd62dd4d525b312a0cd048608a (patch) | |
| tree | 7f8ab8888ea67a18084e57b1a8f99b1105951c14 | |
| parent | 8b69c38cffabcad969a44b091ca7f2e8da1b5cdb (diff) | |
| download | river-82d74d938c0e54bd62dd4d525b312a0cd048608a.tar.gz river-82d74d938c0e54bd62dd4d525b312a0cd048608a.tar.xz | |
Sketch out river-window-management protocol
| -rw-r--r-- | protocol/river-window-management-unstable-v1.xml | 58 |
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> |
