Skip to content

feat: add decoration state management#1085

Draft
deepin-wm wants to merge 1 commit into
linuxdeepin:masterfrom
deepin-wm:fix/WM-70-layer-shell-shadow-v2
Draft

feat: add decoration state management#1085
deepin-wm wants to merge 1 commit into
linuxdeepin:masterfrom
deepin-wm:fix/WM-70-layer-shell-shadow-v2

Conversation

@deepin-wm

Copy link
Copy Markdown
Contributor

Implement Layer Shell decoration on-demand creation with simplified DecorationState enum.

  1. Add DecorationState enum (NotSet/EnabledDefault/Custom)
  2. Implement set_shadow_enabled/set_border_enabled requests
  3. Create Layer Shell decoration on-demand when enabled

添加装饰状态管理

  1. 新增 DecorationState 枚举 (NotSet/EnabledDefault/Custom)
  2. 实现 set_shadow_enabled/set_border_enabled 请求处理
  3. Layer Shell 窗口按需创建装饰

Log: Layer Shell 窗口装饰按需创建
Influence: 无影响
PMS: BUG-367541

Related: WM-70

@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

[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 fix/WM-70-layer-shell-shadow-v2 branch 4 times, most recently from 0203c07 to ff7c20e Compare July 2, 2026 07:44
1. Add DecorationState enum (NotSet/EnabledDefault/Custom)
2. Implement set_shadow_enabled/set_border_enabled requests
3. Create Layer Shell decoration on-demand when enabled
4. Add ShadowParams/BorderParams structs with Q_GADGET
5. Add shadowParams/borderParams properties for QML
6. Add shadowEnabled()/borderEnabled() methods
7. Set EnabledDefault for XDG Toplevel, NotSet for Layer Shell
8. Update InterfaceVersion to 2

Log: Layer Shell windows can now enable decoration on demand;
OSD no longer shows unexpected shadow

Influence:
1. Test OSD display no longer shows unexpected shadow
2. Test Layer Shell with enabled shadow/border display correctly
3. Test XDG toplevel decoration behavior is unchanged
4. Test dynamic enable/disable works at runtime

feat: 添加 Layer Shell 装饰状态管理

1. 新增 DecorationState 枚举 (NotSet/EnabledDefault/Custom)
2. 实现 set_shadow_enabled/set_border_enabled 请求处理
3. Layer Shell 窗口按需创建装饰
4. 添加 ShadowParams/BorderParams 结构体
5. 添加 shadowParams/borderParams 属性用于 QML 传递
6. 添加 shadowEnabled()/borderEnabled() 方法
7. XDG Toplevel 默认 EnabledDefault,Layer Shell 默认 NotSet
8. 更新 InterfaceVersion 为 2

Log: Layer Shell窗口可按需启用装饰;OSD不再显示意外阴影

Influence:
1. 测试OSD显示无意外阴影
2. 测试启用阴影/边框的Layer Shell表面正确显示
3. 测试XDG toplevel装饰行为未改变
4. 测试运行时动态启用/禁用正常工作

PMS: BUG-367541
@deepin-wm deepin-wm force-pushed the fix/WM-70-layer-shell-shadow-v2 branch from b424ccb to 9ea7395 Compare July 2, 2026 11:25
@deepin-wm deepin-wm marked this pull request as draft July 2, 2026 11:31
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