Repository navigation
feat: adapt taskmanager to v2 toplevel protocol - #1728
Conversation
Reviewer's GuideMigrates the dock taskmanager’s Treeland foreign-toplevel and dock-preview Wayland client usage from the v1 protocol to unstable-v2, including generated bindings, callback signatures, protocol object types, extension versions, state enums, and the icon-geometry request. Sequence diagram for v2 toplevel discovery and updatessequenceDiagram
participant Manager as ForeignToplevelManager
participant Monitor as TreeLandWindowMonitor
participant Handle as ForeignToplevelHandle
participant Window as TreeLandWindow
Manager->>Handle: treeland_foreign_toplevel_manager_v2_toplevel(toplevel)
Handle-->>Handle: treeland_foreign_toplevel_handle_v2_pid(pid)
Handle-->>Handle: treeland_foreign_toplevel_handle_v2_title(title)
Handle-->>Handle: treeland_foreign_toplevel_handle_v2_app_id(app_id)
Handle-->>Handle: treeland_foreign_toplevel_handle_v2_state(state)
Handle-->>Handle: treeland_foreign_toplevel_handle_v2_done()
Handle-->>Monitor: handlerIsReady
Monitor->>Window: handleForeignToplevelHandleAdded
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
1c6706d to
c64ece4
Compare
deepin pr auto review🤖 AI 代码审查报告📊 总体评价
🔍 详细分析1. 语法逻辑 ✅评价: 优秀 ✅ 通过 潜在问题: 建议: ['所有 v1 到 v2 的类型名、方法名重命名在头文件和源文件中保持完全一致,包括 treeland_foreign_toplevel_handle_v1 → v2、treeland_foreign_toplevel_manager_v1 → v2、treeland_dock_preview_context_v1 → v2', 'QWaylandClientExtensionTemplate 版本号从 2 改为 1 是正确的,v2 协议作为新版本从 implementation version 1 开始', 'set_rectangle → set_icon_geometry 方法重命名符合 v2 协议 API 变更', 'ForeignToplevelManager 模板新增 &QtWayland::treeland_foreign_toplevel_manager_v2::destroy 作为第二个模板参数,确保协议对象在析构时正确调用 destroy 请求'] 2. 代码质量 ✅评价: 优秀 ✅ 通过 潜在问题:
建议: ['代码结构保持良好,类继承关系清晰', '所有 override 方法正确声明,符合 C++ 最佳实践'] 3. 代码性能 ✅评价: 优秀 ✅ 通过 潜在问题: 建议: ['本次变更为纯 API 重命名和协议迁移,不影响运行时性能', 'ForeignToplevelManager 新增 destroy 模板参数改进了资源生命周期管理'] 4. 代码安全 🔒评价: 优秀 ✅ 通过
安全漏洞详情: 建议: ['本次协议迁移未引入新的安全风险', '未涉及用户输入处理、文件操作或网络通信等安全敏感操作'] 💡 改进建议代码示例// 暂无代码示例本报告由 AI 代码审查工具自动生成 |
1. Update protocol XML reference from v1 to unstable-v2 in CMakeLists 2. Rename all Wayland class, namespace, and method references from v1 to v2 3. Change QWaylandClientExtensionTemplate constructor version from 2 to 1 4. Rename set_rectangle request to set_icon_geometry in treelandwindow 5. Update include headers to unstable-v2 generated header Influence: 1. Verify dock taskmanager window listing and management under v2 protocol 2. Test window preview functionality with treeland compositor v2 support 3. Verify window icon geometry setting for minimize-to-dock behavior feat: 适配 taskmanager 至 v2 toplevel 协议 1. 在 CMakeLists 中将协议 XML 引用从 v1 更新为 unstable-v2 2. 将所有 Wayland 类、命名空间及方法引用从 v1 重命名为 v2 3. 将 QWaylandClientExtensionTemplate 构造版本从 2 改为 1 4. 在 treelandwindow 中将 set_rectangle 请求重命名为 set_icon_geometry 5. 更新 include 头文件为 unstable-v2 生成的头文件 Influence: 1. 验证 v2 协议下任务栏 taskmanager 窗口列表和管理功能 2. 在 treeland 合成器 v2 支持下测试窗口预览功能 3. 验证窗口图标几何位置设置用于最小化到任务栏的行为
c64ece4 to
d00e3cc
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 18202781743, deepin-wm The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/forcemerge |
|
This pr force merged! (status: blocked) |
Summary
Adapt the dock taskmanager module from
treeland-foreign-toplevel-manager-v1totreeland-foreign-toplevel-manager-unstable-v2protocol.Changes (5 files, 39 insertions, 39 deletions)
set_rectanglerequest renamed toset_icon_geometryForeignToplevelManagerandTreeLandDockPreviewContextclass/namespace/method references updated from v1 to v2; manager constructor version changed from 2 to 1Multica Issue
DDE-230
Summary by Sourcery
Migrate the dock task manager from the Treeland foreign toplevel manager v1 protocol to unstable v2.
New Features:
Enhancements:
Build: