creek

A malleable and minimalist status bar for the River compositor

git clone https://git.8pit.net/creek.git

  1<?xml version="1.0" encoding="UTF-8"?>
  2<protocol name="river_status_unstable_v1">
  3  <copyright>
  4    Copyright 2020 The River Developers
  5
  6    Permission to use, copy, modify, and/or distribute this software for any
  7    purpose with or without fee is hereby granted, provided that the above
  8    copyright notice and this permission notice appear in all copies.
  9
 10    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 11    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 12    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 13    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 14    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 15    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 16    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 17  </copyright>
 18
 19  <interface name="zriver_status_manager_v1" version="4">
 20    <description summary="manage river status objects">
 21      A global factory for objects that receive status information specific
 22      to river. It could be used to implement, for example, a status bar.
 23    </description>
 24
 25    <request name="destroy" type="destructor">
 26      <description summary="destroy the river_status_manager object">
 27        This request indicates that the client will not use the
 28        river_status_manager object any more. Objects that have been created
 29        through this instance are not affected.
 30      </description>
 31    </request>
 32
 33    <request name="get_river_output_status">
 34      <description summary="create an output status object">
 35        This creates a new river_output_status object for the given wl_output.
 36      </description>
 37      <arg name="id" type="new_id" interface="zriver_output_status_v1"/>
 38      <arg name="output" type="object" interface="wl_output"/>
 39    </request>
 40
 41    <request name="get_river_seat_status">
 42      <description summary="create a seat status object">
 43        This creates a new river_seat_status object for the given wl_seat.
 44      </description>
 45      <arg name="id" type="new_id" interface="zriver_seat_status_v1"/>
 46      <arg name="seat" type="object" interface="wl_seat"/>
 47    </request>
 48  </interface>
 49
 50  <interface name="zriver_output_status_v1" version="4">
 51    <description summary="track output tags and focus">
 52      This interface allows clients to receive information about the current
 53      windowing state of an output.
 54    </description>
 55
 56    <request name="destroy" type="destructor">
 57      <description summary="destroy the river_output_status object">
 58        This request indicates that the client will not use the
 59        river_output_status object any more.
 60      </description>
 61    </request>
 62
 63    <event name="focused_tags">
 64      <description summary="focused tags of the output">
 65        Sent once binding the interface and again whenever the tag focus of
 66        the output changes.
 67      </description>
 68      <arg name="tags" type="uint" summary="32-bit bitfield"/>
 69    </event>
 70
 71    <event name="view_tags">
 72      <description summary="tag state of an output's views">
 73        Sent once on binding the interface and again whenever the tag state
 74        of the output changes.
 75      </description>
 76      <arg name="tags" type="array" summary="array of 32-bit bitfields"/>
 77    </event>
 78
 79    <event name="urgent_tags" since="2">
 80      <description summary="tags of the output with an urgent view">
 81        Sent once on binding the interface and again whenever the set of
 82        tags with at least one urgent view changes.
 83      </description>
 84      <arg name="tags" type="uint" summary="32-bit bitfield"/>
 85    </event>
 86
 87    <event name="layout_name" since="4">
 88      <description summary="name of the layout">
 89        Sent once on binding the interface should a layout name exist and again
 90        whenever the name changes.
 91      </description>
 92      <arg name="name" type="string" summary="layout name"/>
 93    </event>
 94
 95    <event name="layout_name_clear" since="4">
 96      <description summary="name of the layout">
 97        Sent when the current layout name has been removed without a new one
 98        being set, for example when the active layout generator disconnects.
 99      </description>
100    </event>
101  </interface>
102
103  <interface name="zriver_seat_status_v1" version="3">
104    <description summary="track seat focus">
105      This interface allows clients to receive information about the current
106      focus of a seat. Note that (un)focused_output events will only be sent
107      if the client has bound the relevant wl_output globals.
108    </description>
109
110    <request name="destroy" type="destructor">
111      <description summary="destroy the river_seat_status object">
112        This request indicates that the client will not use the
113        river_seat_status object any more.
114      </description>
115    </request>
116
117    <event name="focused_output">
118      <description summary="the seat focused an output">
119        Sent on binding the interface and again whenever an output gains focus.
120      </description>
121      <arg name="output" type="object" interface="wl_output"/>
122    </event>
123
124    <event name="unfocused_output">
125      <description summary="the seat unfocused an output">
126        Sent whenever an output loses focus.
127      </description>
128      <arg name="output" type="object" interface="wl_output"/>
129    </event>
130
131    <event name="focused_view">
132      <description summary="information on the focused view">
133        Sent once on binding the interface and again whenever the focused
134        view or a property thereof changes. The title may be an empty string
135        if no view is focused or the focused view did not set a title.
136      </description>
137      <arg name="title" type="string" summary="title of the focused view"/>
138    </event>
139
140    <event name="mode" since="3">
141      <description summary="the active mode changed">
142        Sent once on binding the interface and again whenever a new mode
143        is entered (e.g. with riverctl enter-mode foobar).
144      </description>
145      <arg name="name" type="string" summary="name of the mode"/>
146    </event>
147  </interface>
148</protocol>