Skip to content

feat: add meeting privacy mode for external display - #378

Draft
deepin-wm wants to merge 1 commit into
linuxdeepin:masterfrom
deepin-wm:feat/meeting-privacy-mode
Draft

feat: add meeting privacy mode for external display#378
deepin-wm wants to merge 1 commit into
linuxdeepin:masterfrom
deepin-wm:feat/meeting-privacy-mode

Conversation

@deepin-wm

Copy link
Copy Markdown

Summary

Add meeting privacy mode to protect window content on external displays during mirror mode.

Changes

  1. Add meeting privacy mode switch in Workspace with D-Bus interface
  2. Add MeetingPrivacy effect: per-output window mask on external screens
  3. Add right-click menu "Privacy Protection" toggle per window
  4. Use QUuid for window identification (Wayland compatible)
  5. Mask covers only window content area, decorations remain visible
  6. Exclude desktop, OSD and menu windows from protection
  7. Notification windows are protected by default

Testing

  • Enable/disable meeting privacy mode via D-Bus interface
  • Window masks appear only on external screens, internal screen unaffected
  • Right-click menu "Privacy Protection" toggle works per window
  • Desktop, OSD and menu windows are not masked
  • Notification windows are masked by default
  • Entering meeting mode clears all unprotected window settings

@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 @deepin-wm, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@deepin-ci-robot

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@deepin-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: deepin-wm

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

@deepin-wm
deepin-wm force-pushed the feat/meeting-privacy-mode branch 2 times, most recently from d11106f to cebae14 Compare June 25, 2026 03:50
1. Add meeting privacy mode switch in Workspace with D-Bus interface
2. Add MeetingPrivacy effect: per-output window mask on external screens
3. Add right-click menu "Privacy Protection" toggle per window
4. Use QUuid for window identification (Wayland compatible)
5. Mask covers only window content area, decorations remain visible
6. Exclude desktop, OSD, menu, dropdown menu, popup menu,
   tooltip and combobox from protection
7. Notification windows are protected by default
8. X11 mode not supported (requires Wayland per-output rendering)

Log: Added meeting privacy mode to protect window content on external displays during meetings

Influence:
1. Test enabling/disabling meeting privacy mode via D-Bus interface
2. Verify window masks appear only on external screens, not on internal screen
3. Test right-click menu "Privacy Protection" toggle per window
4. Verify desktop, OSD, menu, dropdown, popup, tooltip and combobox windows are not masked
5. Verify notification windows are masked by default
6. Test that entering meeting mode clears all unprotected window settings
7. Verify no mask is applied under X11 session

feat: 添加外接屏幕会议隐私模式

1. 在 Workspace 中添加会议隐私模式开关,提供 D-Bus 接口
2. 添加 MeetingPrivacy 特效:外接屏幕按窗口蒙版遮挡
3. 添加窗口右键菜单"隐私保护"切换项
4. 使用 QUuid 标识窗口(兼容 Wayland)
5. 蒙版仅覆盖窗口内容区域,装饰区域保持可见
6. 排除桌面、OSD、菜单、下拉菜单、弹出菜单、工具提示和组合框窗口不受保护
7. 通知窗口默认受保护
8. X11 模式不支持(需要 Wayland 逐输出渲染)

Log: 新增会议隐私模式,保护会议场景下外接屏幕的窗口内容隐私

Influence:
1. 测试通过 D-Bus 接口开启/关闭会议隐私模式
2. 验证窗口蒙版仅在外接屏幕显示,内置屏幕正常
3. 测试窗口右键菜单"隐私保护"切换功能
4. 验证桌面、OSD、菜单、下拉菜单、弹出菜单、工具提示和组合框窗口不被遮挡
5. 验证通知窗口默认被遮挡
6. 测试进入会议模式时清除所有未保护窗口设置
7. 验证 X11 会话下不应用蒙版
@deepin-wm
deepin-wm force-pushed the feat/meeting-privacy-mode branch from cebae14 to 4d68eeb Compare June 25, 2026 03:54
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