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>102103 <interface name="zriver_seat_status_v1" version="3">104 <description summary="track seat focus">105 This interface allows clients to receive information about the current106 focus of a seat. Note that (un)focused_output events will only be sent107 if the client has bound the relevant wl_output globals.108 </description>109110 <request name="destroy" type="destructor">111 <description summary="destroy the river_seat_status object">112 This request indicates that the client will not use the113 river_seat_status object any more.114 </description>115 </request>116117 <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>123124 <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>130131 <event name="focused_view">132 <description summary="information on the focused view">133 Sent once on binding the interface and again whenever the focused134 view or a property thereof changes. The title may be an empty string135 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>139140 <event name="mode" since="3">141 <description summary="the active mode changed">142 Sent once on binding the interface and again whenever a new mode143 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>