diff options
| author | Isaac Freund <ifreund@ifreund.xyz> | 2021-04-26 21:03:28 +0200 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2021-04-27 00:10:20 +0200 |
| commit | e80b883a47d0a2fe3d42f42d1eb56969728ea162 (patch) | |
| tree | 6d81137a4b7afcc4cb1946b98f8fb79b11fc8dda /protocol | |
| parent | 871fc7c8de172365bd18456c799ec8aacea9ee4a (diff) | |
| download | river-e80b883a47d0a2fe3d42f42d1eb56969728ea162.tar.gz river-e80b883a47d0a2fe3d42f42d1eb56969728ea162.tar.xz | |
river-layout: update to v2
This implements the changes to the river-layout protocol proposed
in the previous commit removing river-options.
Diffstat (limited to 'protocol')
| -rw-r--r-- | protocol/river-layout-v2.xml (renamed from protocol/river-layout-v1.xml) | 97 |
1 files changed, 76 insertions, 21 deletions
diff --git a/protocol/river-layout-v1.xml b/protocol/river-layout-v2.xml index 2ddcea3..f0c82e0 100644 --- a/protocol/river-layout-v1.xml +++ b/protocol/river-layout-v2.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<protocol name="river_layout_v1"> +<protocol name="river_layout_v2"> <copyright> Copyright 2020-2021 The River Developers @@ -19,7 +19,7 @@ <description summary="let clients propose view positions and dimensions"> This protocol specifies a way for clients to propose arbitrary positions and dimensions for a set of views on a specific output of a compositor through - the river_layout_v1 object. + the river_layout_v2 object. This set of views is logically structured as a simple list. Views in this list cannot be individually addressed, instead the order of @@ -32,7 +32,7 @@ intentional limitation. Note that the client may need to handle multiple layout demands per - river_layout_v1 object simultaneously. + river_layout_v2 object simultaneously. Warning! The protocol described in this file is currently in the testing phase. Backward compatible changes may be added together with the @@ -40,9 +40,9 @@ only be done by creating a new major version of the extension. </description> - <interface name="river_layout_manager_v1" version="1"> + <interface name="river_layout_manager_v2" version="1"> <description summary="manage river layout objects"> - A global factory for river_layout_v1 objects. + A global factory for river_layout_v2 objects. </description> <request name="destroy" type="destructor"> @@ -54,26 +54,26 @@ </request> <request name="get_layout"> - <description summary="create a river_layout_v1 object"> - This creates a new river_layout_v1 object for the given wl_output. + <description summary="create a river_layout_v2 object"> + This creates a new river_layout_v2 object for the given wl_output. All layout related communication is done through this interface. - The namespace is used by the compositor to decide which river_layout_v1 + The namespace is used by the compositor to decide which river_layout_v2 object will receive layout demands for the output. The namespace is required to be be unique per-output. Furthermore, two separate clients may not share a namespace on separate outputs. If these conditions are not upheld, the the namespace_in_use event will - be sent directly after creation of the river_layout_v1 object. + be sent directly after creation of the river_layout_v2 object. </description> - <arg name="id" type="new_id" interface="river_layout_v1"/> + <arg name="id" type="new_id" interface="river_layout_v2"/> <arg name="output" type="object" interface="wl_output"/> <arg name="namespace" type="string" summary="namespace of the layout object"/> </request> </interface> - <interface name="river_layout_v1" version="1"> + <interface name="river_layout_v2" version="1"> <description summary="receive and respond to layout demands"> This interface allows clients to receive layout demands from the compositor for a specific output and subsequently propose positions and @@ -88,8 +88,8 @@ </enum> <request name="destroy" type="destructor"> - <description summary="destroy the river_layout_v1 object"> - This request indicates that the client will not use the river_layout_v1 + <description summary="destroy the river_layout_v2 object"> + This request indicates that the client will not use the river_layout_v2 object any more. </description> </request> @@ -98,7 +98,7 @@ <description summary="the requested namespace is already in use"> After this event is sent, all requests aside from the destroy event will be ignored by the server. If the client wishes to try again with - a different namespace they must create a new river_layout_v1 object. + a different namespace they must create a new river_layout_v2 object. </description> </event> @@ -188,14 +188,69 @@ <arg name="serial" type="uint" summary="serial of layout demand"/> </request> - <request name="parameters_changed"> - <description summary="parameters of layout have changed"> - The client may use this request to inform the compositor that one or - muliple of the parameters it uses to generate layouts have changed. + <event name="set_int_value"> + <description summary="an int value has been set"> + This event indicates that the value of this river_layout_v2 object + with the given name has been set to the given value. - If the client is responsible for the current view layout, the compositor - may decide to send a new layout demand to update the layout. + This event will be followed by a layout_demand if necessary (i.e. if + this layout object is currently being used by the compositor to + layout an output) </description> - </request> + <arg name="name" type="string"/> + <arg name="value" type="int"/> + </event> + + <event name="mod_int_value"> + <description summary="an int value has been modified"> + This event indicates that the value of this river_layout_v2 object + with the given name has been modifed by the given delta. + + This event will be followed by a layout_demand if necessary (i.e. if + this layout object is currently being used by the compositor to + layout an output) + </description> + <arg name="name" type="string"/> + <arg name="delta" type="int"/> + </event> + + <event name="set_fixed_value"> + <description summary="a fixed value has been set"> + This event indicates that the value of this river_layout_v2 object + with the given name has been set to the given value. + + This event will be followed by a layout_demand if necessary (i.e. if + this layout object is currently being used by the compositor to + layout an output) + </description> + <arg name="name" type="string"/> + <arg name="value" type="fixed"/> + </event> + + <event name="mod_fixed_value"> + <description summary="a fixed value has been modified"> + This event indicates that the value of this river_layout_v2 object + with the given name has been modifed by the given delta. + + This event will be followed by a layout_demand if necessary (i.e. if + this layout object is currently being used by the compositor to + layout an output) + </description> + <arg name="name" type="string"/> + <arg name="delta" type="fixed"/> + </event> + + <event name="set_string_value"> + <description summary="a string value has been set"> + This event indicates that the value of this river_layout_v2 object + with the given name has been set to the given value. + + This event will be followed by a layout_demand if necessary (i.e. if + this layout object is currently being used by the compositor to + layout an output) + </description> + <arg name="name" type="string"/> + <arg name="value" type="string"/> + </event> </interface> </protocol> |
