Repository navigation
本次更新
这个版本修掉了两类问题:插件在新版 DSH 上的适配,以及Windows 桌面端背景图完全失效。
一、适配 DSH 0.1.6-alpha.2+ 的插件页改版
上游把插件配置从「设置 → 插件」搬到了侧边栏的插件主面板,删除了 settings.plugin.item,改为 plugins.item。本插件的卡片因此在这之后的版本上完全不显示。
- 卡片已迁到
plugins.item(普通 list 槽,无需 Host 侧设置命名空间,也不需要新依赖) - 同时遵循了该槽位的
view契约:列表行只渲染一句话简介,点进去渲染真正的配置面板 - 旧的
settings.plugin.item注册保留给 DSH ≤ 0.1.5(注册进未声明的槽是惰性的,两个槽不存在同时命中的版本)
顺带修掉一个隐藏 bug:注册时用了 () => createElement(PluginCard),这个箭头会吃掉插件页传下来的 owner props,导致 view 永远是 undefined,列表行和详情页渲染成同一个东西(标题还重复了一遍)。
简介改写为与官方卡片同构的一句话:
| 中文 | 自定义界面配色、氛围光与背景图。 |
| English | Customize interface colors, ambient glow, and background images. |
二、Windows 桌面端:背景图完全不显示
症状:桌面端选了背景图,图片不出现,界面还发白半透,控制台没有任何报错。
根因:Windows 标题栏布局会把整块应用底板换成侧边栏令牌:
/* ui-layout/src/client/AppFrame.module.css */
:global([data-windows-titlebar]) .frame { background: var(--dsw-specific-sidebar-fill); }preload-windows.ts 会给 <html> 打上 data-windows-titlebar,于是这块不透明的底板铺满整个窗口,把下面的背景图和所有半透明表面全糊住了。插件只在「侧边栏透明」开关打开时才让该令牌半透明,开关默认关,所以桌面端「背景图」功能等于失效。Web 端没有这个标记(框架用 --dsw-alias-bg-base),因此一直正常。
修复:把框架那层放空——它在桌面端只是个容器,两列各自带底色:
html[data-windows-titlebar] [class*="_frame"]:has([class*="_centerCol"]) { background: transparent !important; }同时保留令牌半透明作为兜底:万一将来 DSH 改了类名导致规则失配,画面会退化成「淡但看得见」,而不是又变成静默失效。
三、Windows 桌面端:背景比 Web 明显更淡
同一条 Windows 规则还给 .centerCol 刷了一层 --dsw-alias-bg-base,而 Web 端那边 .centerCol 是 transparent、由 .frame 承担底色。于是桌面端主列实际压了三层半透明层,Web 只有两层:
| 布局 | 背景透出率 |
|---|---|
| Web | 0.49 |
| 桌面端(修复前) | 0.22 |
| 桌面端(修复后) | 0.49 |
放空框架后层叠与 Web 完全一致。
四、其他
- 新增第 14 个颜色字段:非激活色(
--dsw-alias-state-idle-primary),四套预设各自配了带色相的灰调 - 老存档兼容:新增字段在老存档里缺失时会写进一个空的 CSS 值(非法,浏览器会丢弃该变量)。现在
buildTokens会跳过两侧都空的令牌,恢复存档时也会用该存档所属预设的亮色板打底补全
验证方式
- Web 端(DSH 0.2.0-rc.2):插件页列表行与详情页、设置面板、14 色字段、预设切换、背景图,控制台干净
- 桌面端(DSH 0.1.7-rc.1):
elementsFromPoint逐层定位出那块不透明的rgb(243,247,255);修复后在浏览器里复现桌面端布局标记(data-windows-titlebar+ 40px 标题栏高度),逐层测量透出率由 0.22 回到 0.49
升级方式(GitHub 直装,推荐):
dsh plugin --profile web add github:LAN-TINA-WS/dsh-gui-customization#path:packages/dsh-gui-customization也可以直接下载本页附带的 ZIP 手动安装。装完重启 dsh web。
npm 渠道当前最新为 0.6.4,尚未同步到 0.6.5;在同步之前请用上面的 GitHub 方式获取本版本。
桌面端请在「插件」页安装或更新(包名 dsh-gui-customization,或填入本地路径),装完 Ctrl+R 刷新即可。