aboutsummaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/dwl-ipc-unstable-v2.xml181
-rw-r--r--protocols/net-tapesoftware-dwl-wm-unstable-v1.xml164
2 files changed, 0 insertions, 345 deletions
diff --git a/protocols/dwl-ipc-unstable-v2.xml b/protocols/dwl-ipc-unstable-v2.xml
deleted file mode 100644
index 0a6e7e5..0000000
--- a/protocols/dwl-ipc-unstable-v2.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-This is largely ripped from somebar's ipc patchset; just with some personal modifications.
-I would probably just submit raphi's patchset but I don't think that would be polite.
--->
-<protocol name="dwl_ipc_unstable_v2">
- <description summary="inter-proccess-communication about dwl's state">
- This protocol allows clients to update and get updates from dwl.
-
- Warning! The protocol described in this file is experimental and
- backward incompatible changes may be made. Backward compatible
- changes may be added together with the corresponding interface
- version bump.
- Backward incompatible changes are done by bumping the version
- number in the protocol and interface names and resetting the
- interface version. Once the protocol is to be declared stable,
- the 'z' prefix and the version number in the protocol and
- interface names are removed and the interface version number is
- reset.
- </description>
-
- <interface name="zdwl_ipc_manager_v2" version="2">
- <description summary="manage dwl state">
- This interface is exposed as a global in wl_registry.
-
- Clients can use this interface to get a dwl_ipc_output.
- After binding the client will recieve the dwl_ipc_manager.tags and dwl_ipc_manager.layout events.
- The dwl_ipc_manager.tags and dwl_ipc_manager.layout events expose tags and layouts to the client.
- </description>
-
- <request name="release" type="destructor">
- <description summary="release dwl_ipc_manager">
- Indicates that the client will not the dwl_ipc_manager object anymore.
- Objects created through this instance are not affected.
- </description>
- </request>
-
- <request name="get_output">
- <description summary="get a dwl_ipc_outout for a wl_output">
- Get a dwl_ipc_outout for the specified wl_output.
- </description>
- <arg name="id" type="new_id" interface="zdwl_ipc_output_v2"/>
- <arg name="output" type="object" interface="wl_output"/>
- </request>
-
- <event name="tags">
- <description summary="Announces tag amount">
- This event is sent after binding.
- A roundtrip after binding guarantees the client recieved all tags.
- </description>
- <arg name="amount" type="uint"/>
- </event>
-
- <event name="layout">
- <description summary="Announces a layout">
- This event is sent after binding.
- A roundtrip after binding guarantees the client recieved all layouts.
- </description>
- <arg name="name" type="string"/>
- </event>
- </interface>
-
- <interface name="zdwl_ipc_output_v2" version="2">
- <description summary="control dwl output">
- Observe and control a dwl output.
-
- Events are double-buffered:
- Clients should cache events and redraw when a dwl_ipc_output.frame event is sent.
-
- Request are not double-buffered:
- The compositor will update immediately upon request.
- </description>
-
- <enum name="tag_state">
- <entry name="none" value="0" summary="no state"/>
- <entry name="active" value="1" summary="tag is active"/>
- <entry name="urgent" value="2" summary="tag has at least one urgent client"/>
- </enum>
-
- <request name="release" type="destructor">
- <description summary="release dwl_ipc_outout">
- Indicates to that the client no longer needs this dwl_ipc_output.
- </description>
- </request>
-
- <event name="toggle_visibility">
- <description summary="Toggle client visibilty">
- Indicates the client should hide or show themselves.
- If the client is visible then hide, if hidden then show.
- </description>
- </event>
-
- <event name="active">
- <description summary="Update the selected output.">
- Indicates if the output is active. Zero is invalid, nonzero is valid.
- </description>
- <arg name="active" type="uint"/>
- </event>
-
- <event name="tag">
- <description summary="Update the state of a tag.">
- Indicates that a tag has been updated.
- </description>
- <arg name="tag" type="uint" summary="Index of the tag"/>
- <arg name="state" type="uint" enum="tag_state" summary="The state of the tag."/>
- <arg name="clients" type="uint" summary="The number of clients in the tag."/>
- <arg name="focused" type="uint" summary="If there is a focused client. Nonzero being valid, zero being invalid."/>
- </event>
-
- <event name="layout">
- <description summary="Update the layout.">
- Indicates a new layout is selected.
- </description>
- <arg name="layout" type="uint" summary="Index of the layout."/>
- </event>
-
- <event name="title">
- <description summary="Update the title.">
- Indicates the title has changed.
- </description>
- <arg name="title" type="string" summary="The new title name."/>
- </event>
-
- <event name="appid" since="1">
- <description summary="Update the appid.">
- Indicates the appid has changed.
- </description>
- <arg name="appid" type="string" summary="The new appid."/>
- </event>
-
- <event name="layout_symbol" since="1">
- <description summary="Update the current layout symbol">
- Indicates the layout has changed. Since layout symbols are dynamic.
- As opposed to the zdwl_ipc_manager.layout event, this should take precendence when displaying.
- You can ignore the zdwl_ipc_output.layout event.
- </description>
- <arg name="layout" type="string" summary="The new layout"/>
- </event>
-
- <event name="frame">
- <description summary="The update sequence is done.">
- Indicates that a sequence of status updates have finished and the client should redraw.
- </description>
- </event>
-
- <request name="set_tags">
- <description summary="Set the active tags of this output"/>
- <arg name="tagmask" type="uint" summary="bitmask of the tags that should be set."/>
- <arg name="toggle_tagset" type="uint" summary="toggle the selected tagset, zero for invalid, nonzero for valid."/>
- </request>
-
- <request name="set_client_tags">
- <description summary="Set the tags of the focused client.">
- The tags are updated as follows:
- new_tags = (current_tags AND and_tags) XOR xor_tags
- </description>
- <arg name="and_tags" type="uint"/>
- <arg name="xor_tags" type="uint"/>
- </request>
-
- <request name="set_layout">
- <description summary="Set the layout of this output"/>
- <arg name="index" type="uint" summary="index of a layout recieved by dwl_ipc_manager.layout"/>
- </request>
-
- <!-- Version 2 -->
- <event name="fullscreen" since="2">
- <description summary="Update fullscreen status">
- Indicates if the selected client on this output is fullscreen.
- </description>
- <arg name="is_fullscreen" type="uint" summary="If the selected client is fullscreen. Nonzero is valid, zero invalid"/>
- </event>
-
- <event name="floating" since="2">
- <description summary="Update the floating status">
- Indicates if the selected client on this output is floating.
- </description>
- <arg name="is_floating" type="uint" summary="If the selected client is floating. Nonzero is valid, zero invalid"/>
- </event>
- </interface>
-</protocol>
diff --git a/protocols/net-tapesoftware-dwl-wm-unstable-v1.xml b/protocols/net-tapesoftware-dwl-wm-unstable-v1.xml
deleted file mode 100644
index 4fe5b73..0000000
--- a/protocols/net-tapesoftware-dwl-wm-unstable-v1.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<protocol name="net_tapesoftware_dwl_wm_unstable_v1">
- <copyright>
- Copyright (c) 2021 Raphael Robatsch
-
- Permission is hereby granted, free of charge, to any person obtaining a
- copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice (including the
- next paragraph) shall be included in all copies or substantial portions
- of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- </copyright>
-
- <interface name="znet_tapesoftware_dwl_wm_v1" version="1">
- <description summary="control the dwl state">
- This interface is exposed as a global in the wl_registry.
-
- Clients can use this protocol to receive updates of the window manager
- state (active tags, active layout, and focused window).
- Clients can also control this state.
-
- After binding, the client will receive the available tags and layouts
- with the 'tag' and 'layout' events. These can be used in subsequent
- dwl_wm_monitor_v1.set_tags/set_layout requests, and to interpret the
- dwl_wm_monitor_v1.layout/tag events.
- </description>
-
- <request name="release" type="destructor">
- <description summary="release dwl_wm">
- This request indicates that the client will not use the dwl_wm
- object any more. Objects that have been created through this instance
- are not affected.
- </description>
- </request>
-
- <request name="get_monitor">
- <description summary="gets a dwl monitor from an output">
- Gets a dwl monitor for the specified output. The window manager
- state on the output can be controlled using the monitor.
- </description>
- <arg name="id" type="new_id" interface="znet_tapesoftware_dwl_wm_monitor_v1" />
- <arg name="output" type="object" interface="wl_output" />
- </request>
-
- <event name="tag">
- <description summary="announces the presence of a tag">
- This event is sent immediately after binding.
- A roundtrip after binding guarantees that the client has received all tags.
- </description>
- <arg name="name" type="string"/>
- </event>
-
- <event name="layout">
- <description summary="announces the presence of a layout">
- This event is sent immediately after binding.
- A roundtrip after binding guarantees that the client has received all layouts.
- </description>
- <arg name="name" type="string"/>
- </event>
- </interface>
-
- <interface name="znet_tapesoftware_dwl_wm_monitor_v1" version="1">
- <description summary="control one monitor">
- Observes and controls one monitor.
-
- Events are double-buffered: Clients should cache all events and only
- redraw themselves once the 'frame' event is sent.
-
- Requests are not double-buffered: The compositor will update itself
- immediately.
- </description>
-
- <enum name="tag_state">
- <entry name="none" value="0" summary="no state"/>
- <entry name="active" value="1" summary="tag is active"/>
- <entry name="urgent" value="2" summary="tag has at least one urgent client"/>
- </enum>
-
- <request name="release" type="destructor">
- <description summary="release dwl_monitor">
- This request indicates that the client is done with this dwl_monitor.
- All further requests are ignored.
- </description>
- </request>
-
- <event name="selected">
- <description summary="updates the selected state of the monitor">
- If 'selected' is nonzero, this monitor is the currently selected one.
- </description>
- <arg name="selected" type="uint"/>
- </event>
-
- <event name="tag">
- <description summary="updates the state of one tag">
- Announces the update of a tag. num_clients and focused_client can be
- used to draw client indicators.
- </description>
- <arg name="tag" type="uint" summary="index of a tag received by the dwl_wm_v1.tag event." />
- <arg name="state" type="uint" enum="tag_state"/>
- <arg name="num_clients" type="uint" summary="number of clients on this tag"/>
- <arg name="focused_client" type="int" summary="out of num_clients. -1 if there is no focused client"/>
- </event>
-
- <event name="layout">
- <description summary="updates the selected layout">
- Announces the update of the selected layout.
- </description>
- <arg name="layout" type="uint" summary="index of a layout received by the dwl_wm_v1.layout event."/>
- </event>
-
- <event name="title">
- <description summary="updates the focused client">
- Announces the update of the selected client.
- </description>
- <arg name="title" type="string"/>
- </event>
-
- <event name="frame">
- <description summary="end of status update sequence">
- Sent after all other events belonging to the status update has been sent.
- Clients should redraw themselves now.
- </description>
- </event>
-
- <request name="set_tags">
- <description summary="sets the active tags on this monitor.">
- Changes are applied immediately.
- </description>
- <arg name="tagmask" type="uint" summary="bitmask of the tags that should be set."/>
- <arg name="toggle_tagset" type="uint"/>
- </request>
-
- <request name="set_client_tags">
- <description summary="updates the tags of the focused client.">
- tags are updated as follows:
- new_tags = (current_tags AND and_tags) XOR xor_tags
-
- Changes are applied immediately.
- </description>
- <arg name="and_tags" type="uint"/>
- <arg name="xor_tags" type="uint"/>
- </request>
-
- <request name="set_layout">
- <description summary="sets the active layout on this monitor.">
- Changes are applied immediately.
- </description>
- <arg name="layout" type="uint" summary="index of a layout received by the dwl_wm_v1.layout event."/>
- </request>
- </interface>
-</protocol>