COSMIC toplevel management
此协议允许任务栏等客户端请求合成器对已打开的 toplevel 执行典型操作。合成器在所有情况下都可以自由忽略该请求。
destroy()
此请求表示客户端已完成使用 zcosmic_toplevel_manager_v1 对象,可以安全销毁。
close(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.closed 事件。
activate(toplevel: object<zcosmic_toplevel_handle_v1>, seat: object<wl_seat>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> | |
| seat | object<wl_seat> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
set_maximized(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
unset_maximized(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
set_minimized(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
unset_minimized(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
set_fullscreen(toplevel: object<zcosmic_toplevel_handle_v1>, output: object<wl_output>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> | |
| output | object<wl_output>允许为空 |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件,可能还会发送 zcosmic_toplevel_handle_v1.output_enter/output_leave 事件。
output 参数是对合成器的提示,可能会被忽略。NULL 值表示如果合成器接受全屏请求,应选择目标输出。
unset_fullscreen(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
set_rectangle(toplevel: object<zcosmic_toplevel_handle_v1>, surface: object<wl_surface>, x: int, y: int, width: int, height: int)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> | |
| surface | object<wl_surface> | |
| x | int | |
| y | int | |
| width | int | |
| height | int |
如果使用此协议的客户端显示与 toplevel 对应的 UI 元素,它可以使用此请求告知服务器此类关系。服务器可以使用此信息,例如作为最小化动画的目标。
如果客户端设置了多个矩形,则只考虑最近设置的矩形。
尺寸以表面局部坐标给出。
设置 width=height=0 将移除当前矩形(如果已设置)。
move_to_workspace(toplevel: object<zcosmic_toplevel_handle_v1>, workspace: object<zcosmic_workspace_handle_v1>, output: object<wl_output>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> | |
| workspace | object<zcosmic_workspace_handle_v1> | |
| output | object<wl_output> |
将窗口移动到给定输出上的工作区。
set_sticky(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
unset_sticky(toplevel: object<zcosmic_toplevel_handle_v1>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> |
如果合成器接受此请求,将发送 zcosmic_toplevel_handle_v1.state 事件。
move_to_ext_workspace(toplevel: object<zcosmic_toplevel_handle_v1>, workspace: object<ext_workspace_handle_v1>, output: object<wl_output>)
参数 | 类型 | 描述 |
|---|---|---|
| toplevel | object<zcosmic_toplevel_handle_v1> | |
| workspace | object<ext_workspace_handle_v1> | |
| output | object<wl_output> |
将窗口移动到给定输出上的工作区。
capabilities(capabilities: array)
参数 | 类型 | 描述 |
|---|---|---|
| capabilities | array | array of 32-bit capabilities |
此事件通告合成器支持的能力。如果某个能力不受支持,客户端应隐藏或禁用暴露此功能的 UI 元素。例如,如果合成器不支持关闭 toplevel,则不应显示触发关闭请求的按钮。
合成器将忽略它不支持的请求。例如,不支持关闭 toplevel 的合成器将忽略关闭请求。
合成器必须在创建 zcosmic_toplevel_manager_v1 后发送此事件一次。当能力发生变化时,合成器必须再次发送此事件。
能力以本机字节序的 32 位无符号整数数组发送。
zcosmic_toplelevel_management_capabilities_v1 { close, activate, maximize, minimize, fullscreen, move_to_workspace, sticky, move_to_ext_workspace }
参数 | 值 | 描述 |
|---|---|---|
| close | 1 | 关闭请求可用 |
| activate | 2 | 激活请求可用 |
| maximize | 3 | set_maximized 和 unset_maximized 请求可用 |
| minimize | 4 | set_minimized 和 unset_minimized 请求可用 |
| fullscreen | 5 | set_fullscreen 和 unset_fullscreen 请求可用 |
| move_to_workspace起始版本 2 | 6 | move_to_workspace 请求可用 |
| sticky起始版本 3 | 7 | set_sticky 和 unset_sticky 请求可用 |
| move_to_ext_workspace起始版本 4 | 8 | move_to_ext_workspace 请求可用 |
合成器支持
Cage | COSMIC | GameScope | Hyprland | Jay | KWin | Labwc | Louvre | Mir | Muffin | Mutter | niri | phoc | river | Sway | Treeland | Wayfire | Weston | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| zcosmic_toplevel_manager_v1 | x | 4 | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
Copyright
Copyright © 2018 Ilia Bozhinov Copyright © 2020 Isaac Freund Copyright © 2022 wb9688 Copyright © 2024 Victoria Brekenfeld
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the copyright holders not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The copyright holders make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.