diff --git a/protocol/river-options-unstable-v1.xml b/protocol/river-options-unstable-v1.xml new file mode 100644 index 0000000..87274e9 --- /dev/null +++ b/protocol/river-options-unstable-v1.xml @@ -0,0 +1,147 @@ + + + + Copyright 2020 The River Developers + + 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. + + + + + This protocol allows clients to access a typed key-value store of + options. These options are identified by string keys and are scoped + either globally or per-output. This protocol does not define any + semantic meaning of the options, that is left up to compositors. + + Compositors are free to set options themselves at any time, though + the type of any given option is immutable once set. + + Options may never be unset once set. + + + + + This request indicates that the client will not use the manager object + any more. Objects that have been created through this instance are + not affected. + + + + + + If the output argument is non-null, the option is local to the given + output. Otherwise it is considered global. + + + + + + + + + + On binding this object, one of the events will immediately be sent by + the server to inform the client of the current state of the option. New + events will be sent as the state changes. + + + + + This request indicates that the client will not use the + zriver_option_handle_v1 any more and that it may be safely destroyed. + + + + + + The option with this key has never been set, so the first set_*_value + request received from any client will determine its type. + + This can only ever be sent as the first event after binding this + interface as options cannot be unset once set. + + + + + + This indicates to the client that the option is of type int as well + as the current value of the option. Once set the type of the option + can never change. + + + + + + + This indicates to the client that the option is of type uint as well + as the current value of the option. Once set the type of the option + can never change. + + + + + + + This indicates to the client that the option is of type fixed as + well as the current value of the option. Once set the type of the option + can never change. + + + + + + + This indicates to the client that the option is of type string as + well as the current value of the option. Once set the type of the option + can never change. + + + + + + + If the option is either unset or set to a value of type int, + this request sets the value of the option as well as the type if + previously unset. Otherwise the request is ignored. + + + + + + + If the option is either unset or set to a value of type uint, + this request sets the value of the option as well as the type if + previously unset. Otherwise the request is ignored. + + + + + + + If the option is either unset or set to a value of type fixed, + this request sets the value of the option as well as the type if + previously unset. Otherwise the request is ignored. + + + + + + + If the option is either unset or set to a value of type string, + this request sets the value of the option as well as the type if + previously unset. Otherwise the request is ignored. + + + + +