feat: add output-mirror protocol, deprecate virtual-output-v1 - #109
Open
wineee wants to merge 1 commit into
Open
feat: add output-mirror protocol, deprecate virtual-output-v1#109wineee wants to merge 1 commit into
wineee wants to merge 1 commit into
Conversation
1. Introduce treeland-output-mirror-manager-unstable-v1.xml with manager/group split, wl_output object identity, explicit set_source/add_output/remove_output, and registry-pattern enumeration via group_added/group_removed events. 2. Move treeland-virtual-output-manager-v1.xml to deprecated/ unchanged; it remains installed by default for migration. 3. Register the new protocol in TREELAND_PROTOCOL_DDE_XML_FILES and the old one in TREELAND_PROTOCOL_DEPRECATED_XML_FILES. 4. Update dde README.md and README.zh_CN.md with the new protocol table row and a 0.7.0 breaking-changes subsection in both languages describing the wire-level differences. Log: Redesign the output copy/mirror protocol around wl_output object identity instead of output-name strings, with explicit source/mirror separation, registry-push enumeration, and fully specified object lifecycles; the old string-array and positional semantics are removed. Influence: 1. Verify wayland-scanner generates client/server headers and code for the new XML without errors. 2. Verify cmake configure/build/install places the new file in share/treeland-protocols and the old file still installs from deprecated/. 3. Verify dde README.md and README.zh_CN.md table rows and the 0.7.0 breaking-changes subsection are present and in sync. feat: 新增 output-mirror 协议,废弃 virtual-output-v1 1. 新增 treeland-output-mirror-manager-unstable-v1.xml,采用 manager/group 分离、wl_output 对象身份、显式 set_source/add_output/remove_output,以及通过 group_added/group_removed 事件的 registry 模式枚举。 2. 将 treeland-virtual-output-manager-v1.xml 原样移至 deprecated/,默认仍安装以供迁移。 3. 在 TREELAND_PROTOCOL_DDE_XML_FILES 注册新协议,在 TREELAND_PROTOCOL_DEPRECATED_XML_FILES 注册旧协议。 4. 更新 dde README.md 与 README.zh_CN.md 的协议表行,并在双 语 README 中新增 0.7.0 破坏性变更子节,描述线缆级差异。 Log: 围绕 wl_output 对象身份重新设计输出复制/镜像协议,显式 区分源与镜像、采用 registry 推送枚举并完整定义对象生命周期; 旧的字符串数组与位置语义已移除。 Influence: 1. 验证 wayland-scanner 对新 XML 生成 client/server 头文件与 代码无报错。 2. 验证 cmake 配置/构建/安装将新文件安装至 share/treeland-protocols,旧文件仍从 deprecated/ 安装。 3. 验证 dde README.md 与 README.zh_CN.md 表行及 0.7.0 破坏 性变更子节存在且内容同步。
Reviewer's GuideIntroduces the experimental output-mirror manager/group protocol with wl_output-based identity, push-based group enumeration, explicit lifecycle and membership semantics, while moving the old virtual-output protocol to deprecated installation and documenting the 0.7.0 migration in English and Chinese. Sequence diagram for output mirror group discovery and configurationsequenceDiagram
participant Client
participant Manager as treeland_output_mirror_manager_v1
participant Group as treeland_output_mirror_group_v1
participant Output as wl_output
Client->>Manager: bind
Manager-->>Client: group_added(id, name)
Manager-->>Group: source(output or null)
Manager-->>Group: output_added(mirror)
Client->>Manager: create_group(id, name)
Manager-->>Client: group object
Client->>Group: set_source(Output)
Group-->>Client: source(Output)
Client->>Group: add_output(Output)
Group-->>Client: output_added(Output)
State diagram for output mirror group lifecyclestateDiagram-v2
[*] --> Empty: create_group
Empty --> Configured: set_source / add_output
Configured --> Mirroring: source and mirror present
Mirroring --> Configured: remove_output
Empty --> Dissolved: dissolve
Configured --> Dissolved: dissolve
Mirroring --> Dissolved: dissolve
Dissolved --> [*]: destroy
state Configured {
[*] --> SourceOrMirrors
SourceOrMirrors --> SourceOrMirrors: set_source / add_output
SourceOrMirrors --> SourceOrMirrors: remove_output
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Log: Redesign the output copy/mirror protocol around wl_output object identity instead of output-name strings, with explicit source/mirror separation, registry-push enumeration, and fully specified object lifecycles; the old string-array and positional semantics are removed.
Influence:
feat: 新增 output-mirror 协议,废弃 virtual-output-v1
Log: 围绕 wl_output 对象身份重新设计输出复制/镜像协议,显式
区分源与镜像、采用 registry 推送枚举并完整定义对象生命周期;
旧的字符串数组与位置语义已移除。
Influence:
Summary by Sourcery
Introduce the output-mirror protocol and deprecate virtual-output-v1 while retaining the legacy XML for migration.
New Features:
Enhancements:
Build:
Documentation: