SPDX-License-Identifier: MIT-CMU
]]>
Some brightness control mechanisms are somewhat unstable, or require root
privileges, so putting them inside of the compositor is not desired.
This protocol is for outsourcing the actual brightness-setting to a
process outside of the compositor.
After creating this object, the client should issue all relevant setup requests
(set_internal, set_edid, set_max_brightness, optionally set_observed_brightness)
and finish the sequence with commit.
Afterwards, for each change in values, the client must call commit again.
The client must ensure that if the brightness level changes due to external factors,
that it either overwrites those changes with what the compositor last requested,
or commit again with set_observed_brightness specifying the changed brightness.
The client can set this to notify the compositor of the device's initial brightness.
It can also set this again after the initial commit to notify the compositor that
the brightness level has changed due to external factors.
The compositor is free to use or ignore this value as it sees fit.