Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@

If this specification uses RFC 2119 keywords normatively, include the
standard interpretation paragraph here.

Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_example_manager_v1" version="1">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,3 +167,24 @@ Before considering the XML finished, check:
- all enum references resolve correctly
- nullable args are intentional
- the protocol is added to `CMakeLists.txt` if it is new
- the protocol-level `<description>` contains the experimental disclaimer (see section 12)

## 12. Experimental status disclaimer

Every Treeland protocol XML must include the following experimental disclaimer in its **protocol-level** `<description>` (the `<description>` that is a direct child of `<protocol>`, not inside an `<interface>`):

```
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
```

Rules:
- the disclaimer must appear exactly once, in the protocol-level `<description>` only
- do not duplicate the disclaimer inside `<interface>` descriptions
- do not use the old "testing phase" wording that promises version-bump discipline — the current disclaimer explicitly states that no compatibility guarantees are provided
- when creating a new protocol file from the template, the disclaimer is already present; keep it
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

Wayland protocol extensions for treeland.

## Experimental status

All Treeland Wayland protocol extensions defined in this repository are
**experimental**. They may change at any time, including in
backward-incompatible ways, and no compatibility guarantees of any kind
are provided. Consumers must track the upstream protocol definition and
must not rely on current interface names, requests, events, or semantics
remaining stable.

## Dependencies

Check `debian/control` for build-time dependencies, or use `cmake` to check the missing required dependencies.
Expand Down
6 changes: 6 additions & 0 deletions README.zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

Treeland 中的 Wayland 协议扩展

## 实验性状态

本仓库中定义的所有 Treeland Wayland 协议扩展均处于**实验性**阶段,
可能随时发生修改(包括不兼容的修改),不提供任何兼容性保证。
使用方需自行跟踪上游协议定义,不应依赖当前接口名称、请求、事件或语义保持稳定。

## 依赖项

请检查 `debian/control` 文件以获取构建时依赖项,或者使用 `cmake` 检查缺失的必需依赖项。
Expand Down
10 changes: 10 additions & 0 deletions xml/treeland-app-id-resolver-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="resolve application identifiers for treeland">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_app_id_resolver_manager_v1" version="1">
<description summary="manager for app id resolver">
Create a resolver object. Typically exactly one privileged helper
Expand Down
8 changes: 8 additions & 0 deletions xml/treeland-capture-unstable-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@
<description summary="protocol for capturing output contents or window contents">
This protocol allows authorized application to capture output contents or window
contents(useful for window streaming).

Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_capture_session_v1" version="1">
Expand Down
21 changes: 11 additions & 10 deletions xml/treeland-dde-shell-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,20 @@
SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd.
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="DDE shell integration for treeland">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_dde_shell_manager_v1" version="2">
<description summary="dde shell manager">
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.
</description>
<request name="get_window_overlap_checker">
<arg name="id" type="new_id" interface="treeland_window_overlap_checker" />
Expand Down Expand Up @@ -87,11 +93,6 @@
<description summary="An opened toplevel">
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.
</description>

<event name="enter">
Expand Down
11 changes: 11 additions & 0 deletions xml/treeland-ddm-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@
SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="private communication between treeland and ddm">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_ddm_v1" version="2">
<description summary="core global for treeland - ddm connection">
This is the treeland - ddm private communication protocol.
Expand Down
26 changes: 11 additions & 15 deletions xml/treeland-foreign-toplevel-manager-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,20 @@
SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd.
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="manage foreign toplevel windows">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_foreign_toplevel_manager_v1" version="2">
<description summary="foreign toplevel manager">
This interface allows a client to get toplevel some info.

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.
</description>
<event name="toplevel">
<description summary="a toplevel has been created">
Expand Down Expand Up @@ -51,11 +57,6 @@
<description summary="An opened toplevel">
A treeland_foreign_toplevel_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.
</description>
<event name="pid">
<description summary="Process id of application owning the window has changed">
Expand Down Expand Up @@ -266,11 +267,6 @@
<interface name="treeland_dock_preview_context_v1" version="1">
<description summary="handle dock preview">
This interface allows dock set windows preview.

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.
</description>

<enum name="direction">
Expand Down
8 changes: 8 additions & 0 deletions xml/treeland-input-manager-unstable-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@
disable-while-typing and tap-to-click are managed through a
treeland_pointer_device_configuration_v1 object created from the
device-specific settings interface.

Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_input_manager_v1" version="1">
Expand Down
11 changes: 7 additions & 4 deletions xml/treeland-keyboard-state-notify-unstable-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@
This protocol is observation-only. Keyboard state changes are never
consumed or intercepted by this protocol.

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.
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_keyboard_state_notify_manager_v1" version="1">
Expand Down
10 changes: 10 additions & 0 deletions xml/treeland-output-manager-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="manage output display configuration">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_output_manager_v1" version="2">
<description summary="expose which is the primary display">
Protocol for telling which is the primary display among the selection of enabled
Expand Down
36 changes: 11 additions & 25 deletions xml/treeland-personalization-manager-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,20 @@
SPDX-FileCopyrightText: 2024 - 2026 UnionTech Software Technology Co., Ltd.
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="personalization and theming for treeland">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_personalization_manager_v1" version="2">
<description summary="personalization manager">
This interface allows a client to customized display effects.

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.
</description>
<request name="get_window_context">
<description summary="get personalization window context">
Expand Down Expand Up @@ -46,11 +52,6 @@
<interface name="treeland_personalization_cursor_context_v1" version="1">
<description summary="client custom cursor context">
This interface allows a client personalization cursor.

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.
</description>
<request name="set_theme">
<description summary="set system cursor theme" />
Expand Down Expand Up @@ -98,11 +99,6 @@
<interface name="treeland_personalization_window_context_v1" version="1">
<description summary="client custom window context">
This interface allows a client personalization window.

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.
</description>
<enum name="blend_mode">
<description summary="window blend mode">
Expand Down Expand Up @@ -189,11 +185,6 @@
<interface name="treeland_personalization_font_context_v1" version="1">
<description summary="treeland window global font settings">
This interface allows set treeland window global font settings.

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.
</description>
<event name="font">
<description summary="font event">
Expand Down Expand Up @@ -255,11 +246,6 @@
<interface name="treeland_personalization_appearance_context_v1" version="1">
<description summary="treeland window global appearance settings">
This interface allows set treeland window global appearance settings.

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.
</description>
<enum name="theme_type">
<description summary="window theme type" />
Expand Down
10 changes: 10 additions & 0 deletions xml/treeland-prelaunch-splash-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="prelaunch splash screen management">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_prelaunch_splash_manager_v1" version="1">
<description summary="prelaunch splash screen manager">
This interface is a manager for creating prelaunch splash screens.
Expand Down
10 changes: 10 additions & 0 deletions xml/treeland-prelaunch-splash-v2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@
SPDX-License-Identifier: MIT
]]></copyright>

<description summary="prelaunch splash screen management">
Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_prelaunch_splash_manager_v2" version="1">
<description summary="prelaunch splash screen manager">
This interface is a manager for creating prelaunch splash screens.
Expand Down
8 changes: 8 additions & 0 deletions xml/treeland-remote-subsurface-unstable-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@
"shall not", "should", "should not", "recommended", "may",
and "optional" in this document are to be interpreted as
described in RFC 2119.

Warning! This protocol is EXPERIMENTAL and under active development.
It may change at any time, including in backward-incompatible ways,
without incrementing the interface major version and without prior
notice. No compatibility guarantees of any kind are provided. Clients
and compositors must track the upstream definition in treeland-protocols
and must not rely on the current interface names, requests, events, or
semantics remaining stable across releases.
</description>

<interface name="treeland_subsurface_manager_v1" version="1">
Expand Down
Loading
Loading