Skip to content

feat: add session-control and multitaskview protocols - #102

Open
wineee wants to merge 1 commit into
linuxdeepin:masterfrom
wineee:split-dde-shell
Open

feat: add session-control and multitaskview protocols#102
wineee wants to merge 1 commit into
linuxdeepin:masterfrom
wineee:split-dde-shell

Conversation

@wineee

@wineee wineee commented Sep 8, 2026

Copy link
Copy Markdown
Member
  1. Add treeland-session-control-unstable-v1: lock/show_shutdown_menu/switch_user
  2. Add treeland-multitaskview-unstable-v1: set_state + state event, bind sync
  3. Mark dde-shell lockscreen/multitaskview interfaces deprecated non-functional
  4. Register both protocols in CMakeLists and update dde/public READMEs
  5. Note whole dde-shell protocol slated for removal in a future release

Log: New session-control and multitaskview protocols; dde-shell interfaces deprecated

Influence:

  1. Install the package and verify both new XML files land in the treeland-protocols data dir
  2. Run wayland-scanner client-header and private-code on both new XML files to confirm parsing
  3. Check all four READMEs list the new protocols and the dde-shell deprecation notes
  4. Reconfigure cmake and confirm the build succeeds with the updated DDE file list

feat: 新增 session-control 与 multitaskview 协议

  1. 新增 session-control 协议:单例全局,含 lock、show_shutdown_menu、switch_user
  2. 新增 multitaskview 协议:set_state 请求、state 事件、bind 时状态同步
  3. dde-shell 的 lockscreen/multitaskview 接口标注废弃不可用
  4. CMakeLists 注册新协议,同步更新 dde/public 中英文 README
  5. README 注明整个 dde-shell 协议未来将彻底移除

Log: 新增会话控制与多任务视图协议;dde-shell 相关接口标记废弃

Influence:

  1. 安装后确认两个新 XML 安装到 treeland-protocols 数据目录
  2. 对两个新 XML 运行 wayland-scanner 校验,确认可正常解析生成
  3. 检查四个 README 均列出新增协议及 dde-shell 废弃说明
  4. 重新运行 cmake 配置,确认构建通过

Summary by Sourcery

Introduce dedicated session-control and multitaskview protocols while deprecating the corresponding non-functional DDE shell interfaces.

New Features:

  • Add an experimental session-control protocol for locking the session, opening shutdown/session actions, and switching users.
  • Add an experimental multitaskview protocol with mode control, state notifications, and bind-time synchronization.

Enhancements:

  • Deprecate the DDE shell lockscreen and multitaskview interfaces as non-functional and document their replacement by the new protocols.

Build:

  • Register the new DDE protocol XML files for installation.

Documentation:

  • Update English and Chinese protocol documentation with the new protocols and the planned removal of the DDE shell protocol.

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: wineee

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @wineee, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 1 day and 1 hour by commenting @sourcery-ai review. Upgrade to get a review now.

@sourcery-ai

sourcery-ai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Reviewer's Guide

Adds new singleton session-control and multitaskview protocols with explicit action/state semantics, registers them for installation, and deprecates the corresponding non-functional dde-shell interfaces with migration guidance and future-removal notes.

Sequence diagram for direct binding to the new control protocols

sequenceDiagram
    participant Client as Privileged DDE Client
    participant Compositor

    Client->>Compositor: bind treeland_session_control_v1
    Client->>Compositor: lock()
    Client->>Compositor: show_shutdown_menu()
    Client->>Compositor: switch_user()

    Client->>Compositor: bind treeland_multitaskview_v1
    Compositor-->>Client: state(current_state)
    Client->>Compositor: set_state(state)
    Compositor-->>Client: state(new_state)
    Compositor-->>Client: state(external_change)
Loading

File-Level Changes

Change Details Files
Introduce a privileged singleton protocol for session and power actions.
  • Add lock, shutdown/session-menu, and user-switch one-shot requests.
  • Document singleton binding, privilege expectations, and stateless behavior.
dde/treeland-session-control-unstable-v1.xml
dde/README.md
dde/README.zh_CN.md
Introduce a synchronized multitaskview mode-control protocol.
  • Add normal/active state values, set_state request, and state event.
  • Define bind-time state synchronization and single-client binding semantics.
dde/treeland-multitaskview-unstable-v1.xml
dde/README.md
dde/README.zh_CN.md
Deprecate the legacy DDE shell lockscreen and multitaskview APIs and document migration.
  • Mark legacy manager requests and interfaces non-functional.
  • Point consumers to the new singleton globals and note eventual removal of the entire dde-shell protocol.
  • Update English and Chinese protocol documentation.
public/treeland-dde-shell-v1.xml
public/README.md
public/README.zh_CN.md
Register the new DDE protocol XML files for installation.
  • Add both XML files to the DDE protocol file list used by the build and install configuration.
CMakeLists.txt

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@deepin-bot

deepin-bot Bot commented Sep 10, 2026

Copy link
Copy Markdown

TAG Bot

New tag: 0.6.0
DISTRIBUTION: unstable
Suggest: synchronizing this PR through rebase #108

1. Add treeland-session-control-unstable-v1: lock/show_shutdown_menu/switch_user
2. Add treeland-multitaskview-unstable-v1: set_state + state event, bind sync
3. Mark dde-shell lockscreen/multitaskview interfaces deprecated non-functional
4. Register both protocols in CMakeLists and update dde/public READMEs
5. Note whole dde-shell protocol slated for removal in a future release

Log: New session-control and multitaskview protocols; dde-shell interfaces deprecated

Influence:
1. Install the package and verify both new XML files land in the treeland-protocols data dir
2. Run wayland-scanner client-header and private-code on both new XML files to confirm parsing
3. Check all four READMEs list the new protocols and the dde-shell deprecation notes
4. Reconfigure cmake and confirm the build succeeds with the updated DDE file list

feat: 新增 session-control 与 multitaskview 协议

1. 新增 session-control 协议:单例全局,含 lock、show_shutdown_menu、switch_user
2. 新增 multitaskview 协议:set_state 请求、state 事件、bind 时状态同步
3. dde-shell 的 lockscreen/multitaskview 接口标注废弃不可用
4. CMakeLists 注册新协议,同步更新 dde/public 中英文 README
5. README 注明整个 dde-shell 协议未来将彻底移除

Log: 新增会话控制与多任务视图协议;dde-shell 相关接口标记废弃

Influence:
1. 安装后确认两个新 XML 安装到 treeland-protocols 数据目录
2. 对两个新 XML 运行 wayland-scanner 校验,确认可正常解析生成
3. 检查四个 README 均列出新增协议及 dde-shell 废弃说明
4. 重新运行 cmake 配置,确认构建通过
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants