KDE external brightness
外部亮度控制
某些亮度控制机制不太稳定,或者需要 root 权限,因此不希望将它们放在合成器内部。此协议用于将实际的亮度设置外包给合成器外部的进程。
create_brightness_control(id: new_id<kde_external_brightness_device_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| id | new_id<kde_external_brightness_device_v1> |
向合成器注册亮度设备
亮度控制设备
创建此对象后,客户端应发出所有相关的设置请求(set_internal、set_edid、set_max_brightness,可选 set_observed_brightness)并使用 commit 结束序列。之后,对于值的每次更改,客户端必须再次调用 commit。
set_edid(string: string)
参数 | 类型 | 描述 |
|---|---|---|
| string | string | base-64 encoded string of the first 128 bytes of the EDID |
设置用于识别显示器的 EDID 数据
set_observed_brightness(value: uint)
参数 | 类型 | 描述 |
|---|---|---|
| value | uint | the observed value that was read |
通知合成器从此设备读取的亮度
客户端可以设置此项以通知合成器设备的初始亮度。它还可以在初始提交后再次设置此项,以通知合成器亮度级别因外部因素而发生变化。合成器可以自由使用或忽略此值。
set_uses_ddc_ci(value: uint)
参数 | 类型 | 描述 |
|---|---|---|
| value | uint | 1 if it uses DDC/CI, 0 if not (assumed by default) |
通知合成器使用 DDC/CI 控制亮度等
合成器可以使用此信息在其命令暴露监视器问题时忽略此对象。合成器还可以减少亮度请求的数量,考虑到潜在的缓慢响应时间和对监视器 EEPROM 寿命/磨损的担忧。
合成器支持
Cage | COSMIC | GameScope | Hyprland | Jay | KWin | Labwc | Louvre | Mir | Muffin | Mutter | niri | phoc | river | Sway | Treeland | Wayfire | Weston | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| kde_external_brightness_v1 | x | x | x | x | x | 3 | x | x | x | x | x | x | x | x | x | x | x | x |
Copyright
SPDX-FileCopyrightText: 2024 Xaver Hugl <xaver.hugl@gmail.com>
SPDX-License-Identifier: MIT-CMU