Skip to content

v0.6.5 — 适配新版插件页 + 修复 Windows 桌面端背景图

Latest

Choose a tag to compare

@LAN-TINA-WS LAN-TINA-WS released this 30 Sep 03:01
· 1 commit to master since this release

本次更新

这个版本修掉了两类问题:插件在新版 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 刷新即可。