Options are now all global but may be overridden per-output. If an
output local value is requested but none has been set, the global value
is provided instead. This makes for much better ergonomics when
configuring layout related options in particular.
Replace the current layout mechanism based on passing args to a child
process and parsing it's stdout with a new wayland protocol. This much
more robust and allows for more featureful layout generators.
Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
This allows the compositor to restrict options to a certain set of
values, which can be desirable if the options affect compositor
behavior.
This was always the intended behavior of the protocol, but now it is
explicitly stated.
Add an output arg to the success event on the callback. This allows for
implementing commands that return values, which are planned.
Replace the array of null terminated strings with a series of requests
each adding a single string to the args array. This is more idiomatic
wayland.
Add a seat argument to the run_command request to allow for proper
multi-seat support in the future.
Add missing destructor request.