通过客户端配置服务端输出

此接口使客户端能够通过服务器设置输出设备的属性以进行屏幕配置。为此,输出设备通过全局 org_kde_kwin_outputdevice 对象引用。

outputmanagement (wl_global) -------------------------- 请求:

  • create_configuration -> outputconfiguration (wl_resource)

outputconfiguration (wl_resource) -------------------------- 请求:

  • enable(outputdevice, bool)
  • mode(outputdevice, mode_id)
  • transformation(outputdevice, flag)
  • position(outputdevice, x, y)
  • apply

事件:

  • applied
  • failed

服务器注册一个 outputmanagement 对象作为全局对象。为了配置输出,客户端请求 create_configuration,该请求提供一个引用 outputconfiguration 的资源用于一次性配置。通过这种方式,服务器知道哪些请求属于一起,并可以按此分组。

在 outputconfiguration 对象上,客户端为每个输出调用是否应启用输出、应设置哪种模式(通过引用已公布模式列表中的模式)以及输出的全局位置。以这种方式配置完所有输出后,客户端调用 apply。

此时(而不是更早)服务器应尝试应用配置。如果成功,服务器发出 applied 信号,否则发出 failed 信号,以便配置客户端收到其配置请求成功与否的通知。

通过这种设计,如果服务器内部支持,该接口可以实现原子输出配置更改。

create_configuration(id: new_id<org_kde_kwin_outputconfiguration>)
参数
类型
描述
idnew_id<org_kde_kwin_outputconfiguration>
提供用于配置输出的 outputconfiguration 对象

请求一个 outputconfiguration 对象,客户端可以通过它配置输出设备。


配置单个输出设备

outputconfiguration 是特定于客户端的资源,可用于请求服务器对可用输出设备应用更改。

客户端从注册表接收输出设备列表。当它想要应用新设置时,它从 outputmanagement 全局对象创建一个配置对象,通过此对象的 enable、scale、transform 和 mode 调用写入更改。然后它要求服务器以原子方式应用这些设置,例如通过 Linux 的 DRM 接口。

服务器发回信号,指示新设置是已成功应用还是应用失败。outputdevice 对象在更改已应用于硬件之后且服务器端发送 applied 事件之前更新。

参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice to be en- or disabled
enableint
1 to enable or 0 to disable this output
启用或禁用输出

将输出标记为启用或禁用。

参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice this mode change applies to
mode_idint
aspired mode's id
切换输出设备模式

通过给定输出的模式大小(宽度和高度)和刷新率设置模式。

参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice this transformation change applies to
transformint
transform enum
变换输出设备

设置给定输出的变换。

position(outputdevice: object<org_kde_kwin_outputdevice>, x: int, y: int)
参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice this position applies to
xint
position on the x-axis
yint
position on the y-axis
在全局空间中定位输出

设置此输出设备的位置。(x,y) 描述输出在全局空间中的左上角,其中全局空间的原点 (0,0) 必须与最左侧输出的左上角对齐,如果不唯一则与顶部输出对齐。

输出之间不能有间隙或重叠,即输出水平、垂直或两者堆叠在一起。

参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice this mode change applies to
scaleint
scaling factor
设置此输出的缩放因子

设置此输出设备的缩放因子。

apply()
将配置更改应用到所有输出设备

请求服务器将通过此 outputconfiguration 对象请求的属性更改应用到服务器端的所有输出。

参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice this mode change applies to
scalefixed
scaling factor
设置此输出的缩放因子

设置此输出设备的缩放因子。同时发送 scale 和 scalef 是未定义行为。

colorcurves(outputdevice: object<org_kde_kwin_outputdevice>, red: array, green: array, blue: array)
参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice curves apply to
redarray
red color ramp
greenarray
green color ramp
bluearray
blue color ramp
设置输出颜色曲线

通过 RGB 颜色渐变设置输出设备的颜色曲线。允许从用户空间对输出设备进行颜色校正。

这些是原始值。合成器可能会选择在内部调整这些值,例如在夜间调整色温。

destroy
类型: destructor起始版本 2
destroy()
释放 outputconfiguration 对象
参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice overscan applies to
overscanuint
overscan value
设置过扫描值

以百分比值设置此输出设备的过扫描值。

参数
类型
描述
outputdeviceobject<org_kde_kwin_outputdevice>
outputdevice this VRR policy applies to
policyuint<org_kde_kwin_outputconfiguration.vrr_policy>
the vrr policy to apply
设置 VRR 策略

设置合成器在使用可变刷新率时应采用的策略。

applied()
配置更改已成功应用

在服务器成功应用更改后发送。

failed()
配置更改应用失败

如果服务器拒绝更改或应用失败,则发送此事件。

vrr_policy { never, always, automatic } 
参数
描述
never0
always1
automatic2
描述 VRR 策略

描述合成器何时可以使用可变刷新率


合成器支持

未发现合成器支持

SPDX-FileCopyrightText: 2008-2011 Kristian Høgsberg SPDX-FileCopyrightText: 2010-2011 Intel Corporation SPDX-FileCopyrightText: 2012-2013 Collabora, Ltd. SPDX-FileCopyrightText: 2015 Sebastian Kügler <sebas@kde.org>

SPDX-License-Identifier: MIT-CMU

Footer

© 2026 Wayland Explorer

本网站与 Wayland 官方项目无任何关联。网站所有内容均根据 Wayland 协议 XML 文件自动生成。

本网站使用的 Visual Studio Code - Codicons 遵循 CC BY 4.0 许可。