kde_external_brightness_v1
-
# kde_external_brightness_v1
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.Requests
-
void kde_external_brightness_v1_destroy(struct kde_external_brightness_v1* kde_external_brightness_v1)
-
struct kde_external_brightness_device_v1* kde_external_brightness_v1_create_brightness_control(struct kde_external_brightness_v1* kde_external_brightness_v1)
-
-
# kde_external_brightness_device_v1
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.Requests
-
void kde_external_brightness_device_v1_destroy(struct kde_external_brightness_device_v1* kde_external_brightness_device_v1)
-
void kde_external_brightness_device_v1_set_internal(struct kde_external_brightness_device_v1* kde_external_brightness_device_v1,uint32_t internal /* 1 if it's an internal panel, 0 if not */)
-
void kde_external_brightness_device_v1_set_edid(struct kde_external_brightness_device_v1* kde_external_brightness_device_v1,const char* string /* base-64 encoded string of the first 128 bytes of the EDID */)
-
void kde_external_brightness_device_v1_set_max_brightness(struct kde_external_brightness_device_v1* kde_external_brightness_device_v1,uint32_t value /* the maximum value that can be set */)
-
void kde_external_brightness_device_v1_commit(struct kde_external_brightness_device_v1* kde_external_brightness_device_v1)
-
void kde_external_brightness_device_v1_set_observed_brightness(struct kde_external_brightness_device_v1* kde_external_brightness_device_v1,uint32_t value /* the observed value that was read */)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.
-
void kde_external_brightness_device_v1_set_uses_ddc_ci(struct kde_external_brightness_device_v1* kde_external_brightness_device_v1,uint32_t value /* 1 if it uses DDC/CI, 0 if not (assumed by default) */)The compositor can use this information to ignore this object if its commands expose monitor issues. The compositor may also reduce the amount of brightness requests given potentially slow response times and concerns about monitor EEPROM longevity/wear-out.
Events
-
uint32_t value /* the value to set the device to */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.
-
Copyright Info
SPDX-FileCopyrightText: 2024 Xaver Hugl <xaver.hugl@gmail.com>
SPDX-License-Identifier: MIT-CMU