Treeland DDE shell
treeland_dde_shell_manager_v1
This interface allows DDE change some treeland function.
Warning! The protocol described in this file is currently in the testing phase. Backward compatible changes may be added together with the corresponding interface version bump. Backward incompatible changes can only be done by creating a new major version of the extension.
get_window_overlap_checker(id: new_id<treeland_window_overlap_checker>)
Argument | Type | Description |
---|---|---|
id | new_id<treeland_window_overlap_checker> |
get_shell_surface(id: new_id<treeland_dde_shell_surface_v1>, surface: object<wl_surface>)
Argument | Type | Description |
---|---|---|
id | new_id<treeland_dde_shell_surface_v1> | |
surface | object<wl_surface> |
Create a shell surface for an existing wl_surface.
Only one shell surface can be associated with a given surface.
Recommended for use with xdg_surface.
get_treeland_dde_active(id: new_id<treeland_dde_active_v1>, seat: object<wl_seat>)
Argument | Type | Description |
---|---|---|
id | new_id<treeland_dde_active_v1> | |
seat | object<wl_seat> | seat associated with the dde_active |
Create a new dde active for a given seat.
get_treeland_multitaskview(id: new_id<treeland_multitaskview_v1>)
Argument | Type | Description |
---|---|---|
id | new_id<treeland_multitaskview_v1> |
Create a new multitaskview context for toggle.
get_treeland_window_picker(id: new_id<treeland_window_picker_v1>)
Argument | Type | Description |
---|---|---|
id | new_id<treeland_window_picker_v1> |
Create a new window picker to pick window.
get_treeland_lockscreen(id: new_id<treeland_lockscreen_v1>)
Argument | Type | Description |
---|---|---|
id | new_id<treeland_lockscreen_v1> |
Create a new lockscreen context for toggle.
treeland_window_overlap_checker
A treeland_dde_shell_handle_v1 object represents an opened toplevel window. Each app may have multiple opened toplevels.
Warning! The protocol described in this file is currently in the testing phase. Backward compatible changes may be added together with the corresponding interface version bump. Backward incompatible changes can only be done by creating a new major version of the extension.
update(width: int, height: int, anchor: uint<treeland_window_overlap_checker.anchor>, output: object<wl_output>)
Argument | Type | Description |
---|---|---|
width | int | |
height | int | |
anchor | uint<treeland_window_overlap_checker.anchor> | |
output | object<wl_output>allow null |
This interface is used to receive the detected surface. When the xdgshell window in the workspace overlaps with the detected window, an event will be sent to notify the client to process it. The window position will only be recorded when this interface is called. If the window moves, this interface needs to be called again.
destroy()
Destroys the treeland_window_overlap_checker object.
This request should be called either when the client does not want to use the toplevel anymore or after the closed event to finalize the destruction of the object.
enter()
This event is sent when windows overlapped. This event is sent only once.
leave()
This event is sent when windows not overlapped. This event is sent only once.
treeland_dde_shell_surface_v1
An interface that may be implemented by a wl_surface, for implementations that provide the shell user interface.
It provides requests to set surface role, set skip, set the position set auto placement in output coordinates.
On the server side the object is automatically destroyed when the related wl_surface is destroyed. On client side, treeland_dde_shell_surface_v1.destroy() must be called before destroying the wl_surface object.
destroy()
The treeland_dde_shell_surface_v1 interface is removed from the wl_surface object that was turned into a shell surface with the treeland_shell_v1.get_treeland_dde_shell_surface request.
The shell surface role is lost and wl_surface is unmapped.
Move the surface to new coordinates.
Coordinates are global, for example 50,50 for a 1920,0+1920x1080 output is 1970,50 in global coordinates space.
set_role(role: uint<treeland_dde_shell_surface_v1.role>)
Argument | Type | Description |
---|---|---|
role | uint<treeland_dde_shell_surface_v1.role> |
Assign a role to a shell surface.
set_auto_placement(y_offset: uint)
Argument | Type | Description |
---|---|---|
y_offset | uint | y position is relative to the cursor bottom |
Set the vertical alignment of the surface within the cursor width.
Do not use it together with set_surface_position to avoid exceptions.
The position of the surface will be controlled by the compositor after the request, including preventing it from being displayed beyond the edge of the output.
set_skip_switcher(skip: uint)
Argument | Type | Description |
---|---|---|
skip | uint | Boolean value that sets whether to skip the window switcher. |
Setting this bit will indicate that the window prefers not to be listed in a switcher.
set_skip_dock_preview(skip: uint)
Argument | Type | Description |
---|---|---|
skip | uint | Boolean value that sets whether to skip the dock preview. |
Setting this bit will indicate that the window prefers not to be listed in a dock preview.
set_skip_muti_task_view(skip: uint)
Argument | Type | Description |
---|---|---|
skip | uint | Boolean value that sets whether to skip the mutitask view. |
Setting this bit will indicate that the window prefers not to be listed in a mutitask view.
set_accept_keyboard_focus(accept: uint)
Argument | Type | Description |
---|---|---|
accept | uint | Boolean value that sets whether to accept keyboard focus |
Setting this will determine whether the surface can receive keyboard focus. When set to 0, the surface will not receive keyboard focus even when clicked or activated. When set to 1 (default), the surface will receive keyboard focus normally.
role { overlay }
Argument | Value | Description |
---|---|---|
overlaysince 1 | 1 |
These values indicate which roles a surface can be rendered in, They are ordered by z depth.
Displayed below wlr-layer-shell, at the overlay level of the workspace.
Multiple surfaces can share a single role, and ordering within a single role is undefined.
treeland_dde_active_v1
An interface used to monitor special events.
destroy()
active_in(reason: uint<treeland_dde_active_v1.reason>)
Argument | Type | Description |
---|---|---|
reason | uint<treeland_dde_active_v1.reason> |
active_out(reason: uint<treeland_dde_active_v1.reason>)
Argument | Type | Description |
---|---|---|
reason | uint<treeland_dde_active_v1.reason> |
start_drag()
treeland_multitaskview_v1
An interface used to control multitaskview.
destroy()
treeland_window_picker_v1
An interface used to pick window and return credentials.
destroy()
pick(hint: string)
Argument | Type | Description |
---|---|---|
hint | string | Hint of pick process |
Pick a window to get information.
treeland_lockscreen_v1
An interface used to operate lockscreen.
destroy()
Compositor Support
Mutter 47.3 | KWin 6.3 | Sway 1.10 | COSMIC 0.1 | Hyprland 0.44 | niri 25.01 | Weston 14 | Mir 2.19 | GameScope 3.15.14 | Jay 1.9.0 | Labwc 0.8.2 | Wayfire 0.9.0 | Treeland 0.5.17 | Louvre 2.14.1 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
treeland_dde_shell_manager_v1 | x | x | x | x | x | x | x | x | x | x | x | x | 1 | x |
Copyright
SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. SPDX-License-Identifier: MIT