KDE external brightness
kde_external_brightness_v1
version 1
external brightness control
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.
create_brightness_control(id: new_id<kde_external_brightness_device_v1>)
Argument | Type | Description |
---|---|---|
id | new_id<kde_external_brightness_device_v1> |
registers a brightness device with the compositor
kde_external_brightness_device_v1
version 1
brightness control device
After creating this object, the client should issue all relevant setup requests (set_internal, set_edid, set_max_brightness) and finish the sequence with commit. Afterwards, for each change in values, the client must call commit again.
kde_external_brightness_device_v1::destroy
Type: destructor
destroy()
destroy the object and unregister the brightness control device
set_internal(internal: uint)
Argument | Type | Description |
---|---|---|
internal | uint | 1 if it's an internal panel, 0 if not |
sets whether or not the brightness device belongs to an internal display
set_edid(string: string)
Argument | Type | Description |
---|---|---|
string | string | base-64 encoded string of the first 128 bytes of the EDID |
set the EDID data for identification of the display
set_max_brightness(value: uint)
Argument | Type | Description |
---|---|---|
value | uint | the maximum value that can be set |
notifies the compositor of the maximum brightness that can be set on this device
commit()
notifies the compositor that all relevant identifiers and values have been sent
requested_brightness(value: uint)
Argument | Type | Description |
---|---|---|
value | uint | the value to set the device to |
requests the client to change the brightness to this value
The client must ensure that if the brightness level changes due to external factors, that it overwrites those changes with what the compositor last requested.
Compositor Support
Mutter 46 | KWin 6.2 | Sway 1.9 | COSMIC 1.0.0 | Hyprland 0.42.0 | niri 0.1.8 | Weston 13 | Mir 2.19 | GameScope 3.15.14 | Jay 1.7.0 | |
---|---|---|---|---|---|---|---|---|---|---|
kde_external_brightness_v1 | x | 1 | x | x | x | x | x | x | x | x |
Copyright
SPDX-FileCopyrightText: 2024 Xaver Hugl <xaver.hugl@gmail.com>
SPDX-License-Identifier: MIT-CMU