DDE shell 管理器

此接口允许 DDE 更改某些 treeland 功能。

警告!此文件中描述的协议目前处于测试阶段。可能会添加向后兼容的更改,并相应地提升接口版本。向后不兼容的更改只能通过创建新的主版本扩展来完成。

get_shell_surface(id: new_id<treeland_dde_shell_surface_v1>, surface: object<wl_surface>)
参数
类型
描述
idnew_id<treeland_dde_shell_surface_v1>
surfaceobject<wl_surface>
从 surface 创建 shell surface

为现有 wl_surface 创建 shell surface。

只能将一个 shell surface 与给定 surface 关联。

建议与 xdg_surface 一起使用。

get_treeland_dde_active(id: new_id<treeland_dde_active_v1>, seat: object<wl_seat>)
参数
类型
描述
idnew_id<treeland_dde_active_v1>
seatobject<wl_seat>
seat associated with the dde_active
创建新的 dde active

为给定 seat 创建新的 dde active。

get_treeland_multitaskview(id: new_id<treeland_multitaskview_v1>)
参数
类型
描述
idnew_id<treeland_multitaskview_v1>
创建新的多任务视图上下文

创建新的多任务视图上下文用于切换。

get_treeland_window_picker(id: new_id<treeland_window_picker_v1>)
参数
类型
描述
idnew_id<treeland_window_picker_v1>
创建新的窗口选择器

创建新的窗口选择器用于选择窗口。

get_treeland_lockscreen(id: new_id<treeland_lockscreen_v1>)
参数
类型
描述
idnew_id<treeland_lockscreen_v1>
创建新的锁屏上下文

创建新的锁屏上下文用于切换。

set_xwindow_position_relative(callback: new_id<wl_callback>, wid: uint, anchor: object<wl_surface>, dx: fixed, dy: fixed)
参数
类型
描述
callbacknew_id<wl_callback>
widuint
anchorobject<wl_surface>
dxfixed
dyfixed
将 XWayland surface 移动到相对于 wl_surface 的位置

将由 Window ID 指定的 XWayland surface 的左上角移动到相对于 wl_surface 左上角具有 (dx, dy) 偏移量的位置。

服务器处理完成后会向回调发送 "done"。回调数据 0 表示没有错误,1 表示出现问题且无法完成移动。


已打开的顶层窗口

treeland_dde_shell_handle_v1 对象表示一个已打开的顶层窗口。每个应用程序可以有多个已打开的顶层窗口。

警告!此文件中描述的协议目前处于测试阶段。可能会添加向后兼容的更改,并相应地提升接口版本。向后不兼容的更改只能通过创建新的主版本扩展来完成。

参数
类型
描述
widthint
heightint
anchoruint<treeland_window_overlap_checker.anchor>
outputobject<wl_output>允许为空
注册检测的 surface

此接口用于接收检测到的 surface。当工作区中的 xdgshell 窗口与检测窗口重叠时,将发送事件通知客户端进行处理。 仅在调用此接口时记录窗口位置。如果窗口移动,需要再次调用此接口。

destroy()
销毁 treeland_window_overlap_checker 对象

销毁 treeland_window_overlap_checker 对象。

当客户端不再想使用顶层窗口或在 closed 事件之后最终销毁对象时,应调用此请求。

enter()
窗口已重叠

当窗口重叠时发送此事件。此事件仅发送一次。

leave()
窗口未重叠

当窗口未重叠时发送此事件。此事件仅发送一次。

anchor { top, bottom, left, right } 
参数
描述
top1
锚点矩形的上边缘
bottom2
锚点矩形的下边缘
left4
锚点矩形的左边缘
right8
锚点矩形的右边缘
与 layershell 相同

与 layershell 相同


元数据接口

可由 wl_surface 实现的接口,用于提供 shell 用户界面的实现。

它提供设置 surface 角色、设置跳过、设置位置和在输出坐标中设置自动放置的请求。

在服务器端,当相关的 wl_surface 被销毁时,对象会自动销毁。在客户端,必须在销毁 wl_surface 对象之前调用 treeland_dde_shell_surface_v1.destroy()。

destroy()
销毁 treeland_dde_shell_surface_v1 对象

从通过 treeland_shell_v1.get_treeland_dde_shell_surface 请求转换为 shell surface 的 wl_surface 对象中移除 treeland_dde_shell_surface_v1 接口。

shell surface 角色丢失,wl_surface 被取消映射。

set_surface_position(x: int, y: int)
参数
类型
描述
xint
x coordinate in global space
yint
y coordinate in global space
更改 shell surface 位置

将 surface 移动到新坐标。

坐标是全局的,例如对于 1920,0+1920x1080 输出,50,50 在全局坐标空间中为 1970,50。

为此 surface 分配角色

为 shell surface 分配角色。

set_auto_placement(y_offset: uint)
参数
类型
描述
y_offsetuint
y position is relative to the cursor bottom
将 surface 放置在光标区域底部

设置 surface 在光标宽度内的垂直对齐方式。

不要与 set_surface_position 一起使用以避免异常。

发出请求后,surface 的位置将由合成器控制,包括防止其显示在输出边缘之外。

set_skip_switcher(skip: uint)
参数
类型
描述
skipuint
Boolean value that sets whether to skip the window switcher.
使窗口不出现在切换器中

设置此位将指示窗口倾向于不列在切换器中。

set_skip_dock_preview(skip: uint)
参数
类型
描述
skipuint
Boolean value that sets whether to skip the dock preview.
使窗口不出现在 dock 预览中

设置此位将指示窗口倾向于不列在 dock 预览中。

set_skip_muti_task_view(skip: uint)
参数
类型
描述
skipuint
Boolean value that sets whether to skip the mutitask view.
使窗口不出现在多任务视图中

设置此位将指示窗口倾向于不列在多任务视图中。

set_accept_keyboard_focus(accept: uint)
参数
类型
描述
acceptuint
Boolean value that sets whether to accept keyboard focus
控制 surface 是否接受键盘焦点

设置此选项将决定 surface 是否可以接收键盘焦点。 设置为 0 时,即使被点击或激活,surface 也不会接收键盘焦点。 设置为 1(默认)时,surface 将正常接收键盘焦点。

role { overlay } 
参数
描述
overlay1
surface 可用的角色

这些值指示 surface 可以以哪些角色渲染,它们按 z 深度排序。

显示在 wlr-layer-shell 之下,位于工作区的 overlay 级别。

多个 surface 可以共享一个角色,单个角色内的顺序未定义。


元数据接口

用于监视特殊事件的接口。

destroy()
销毁 treeland_dde_active_v1 对象
start_drag()
合成器开始拖动操作时发送
drop()
合成器放置操作时发送
reason { mouse, wheel } 
参数
描述
mouse0
wheel1
事件原因

多任务视图上下文接口

用于控制多任务视图的接口。

destroy()
销毁 treeland_multitaskview_v1 对象
toggle()
切换多任务视图

显示或隐藏多任务视图。


窗口选择器接口

用于选择窗口并返回凭据的接口。

destroy()
销毁 treeland_window_picker_v1 对象
pick(hint: string)
参数
类型
描述
hintstring
Hint of pick process
选择窗口

选择一个窗口以获取信息。

window(pid: int)
参数
类型
描述
pidint
Pid of picked window
窗口已选择

已选择窗口的信息。


锁屏接口

用于操作锁屏的接口。

destroy()
销毁 treeland_lockscreen_v1 对象
lock()
锁定屏幕

锁定屏幕。

shutdown()
显示关机

显示关机界面。

switch_user()
切换用户

切换用户。


合成器支持

Cage
Cage
0.2.0
COSMIC
COSMIC
1.0.0~beta.8
GameScope
GameScope
3.15.14
Hyprland
Hyprland
0.52.1
Jay
1.12.0
KWin
KWin
6.6
Labwc
Labwc
0.9.2
Louvre
Louvre
2.14.1
Mir
Mir
2.26
Muffin
Muffin
6.6.0
Mutter
Mutter
49.2
niri
niri
25.11
phoc
phoc
0.52
river
river
0.3.13
Sway
Sway
1.11
Treeland
Treeland
0.8.0
Wayfire
Wayfire
0.9.0
Weston
Weston
14.0.2
treeland_dde_shell_manager_v1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
1
x
x

SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. SPDX-License-Identifier: MIT

Footer

© 2026 Wayland Explorer

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

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