All plugins

DSH / BUNDLE / CLIENT-UI

dsh-theme-windowsxp

v0.1.0liyy996 / dsh-theme-windowsxpc431818c41

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-theme-windowsxp

把 DSH 换成 Windows XP:Luna 蓝皮肤(米色面板、渐变按钮、#7F9DB9 输入框、圆角滚动条、Bliss 桌面壁纸)+ 一轮跑完时的提示音与完成弹窗。

README / EN

Package documentation

Registry summary

把 DSH 换成 Windows XP:Luna 蓝皮肤(米色面板、渐变按钮、#7F9DB9 输入框、圆角滚动条、Bliss 桌面壁纸)+ 一轮跑完时的提示音与完成弹窗。

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **只吃语义层**。113 个语义 token 全覆盖了,但组件内部用哈希类名(`.BynINW_frame` 这种)写死的几何、间距、动画碰不到——那种改法只能靠 DSH 暴露的 `data-*` 钩子(`[data-composer-seat]`、`[data-conversation-scroll]`、`[data-chat-flow]`、`[data-phase]`、`[data-menu-material]`、`[data-slot='…']` 等)去挂,属于第二阶段的活。 - **和其它皮肤互斥**。多个皮肤同时启用时靠文档顺序决定胜负。请只启用一个。 - **提醒逻辑在包里有两份**。`dsh-notify-complete` 是独立版(给非 XP 主题用),本包这份是融合版。改一边不会同步另一边。 - **首帧可能闪一下米色**。客户端插件是惰性的,`data-dsh-windowsxp` 要等插件物化才挂上。想彻底消除,得在宿主半侧 `ctx.on('webserver/index-inject', …)` 里注入 head CSS + body 脚本(`ui-theme` 的 `bootThemeInjections` 就是干这个的,`lib/index.js` 注释里留了写法)。 - **真机验证只覆盖了一部分**。token 映射、优先级、模块协议都按源码核对过,`check-tokens.mjs` 证明 134 个变量名全部真实存在,两个 smoke 共 85 项覆盖了生命周期与两条提醒路径。**已真机确认**:问题对话框里选中项的蓝色描边 —— 这条曾经因为通用按钮规则漏排除 `role='radio'` 而完全不可见(选中的和悬停的长得一模一样),是主人实测发现并确认修好的。**还没确认**:其它组件的观感、XP 界面配 Bliss 壁纸的整体效果、两种提示音的实际听感。 - **通用按钮规则需要不断补排除项**。它为了做出 Luna 外观必须拥有 (0,2,2),而组件自己的状态规则只有 (0,1,0),所以每遇到一个新的「长得像按钮、但外观属于它所在的列表/选择器」的元素,都得往排除表里加一条。排查方法:把客户端包 grep 一遍 `role: "…"` 看哪些 role 落在可交互元素上。`check-cascade.mjs` 里那张表就是护栏,漏一个会直接报错。 - 按钮的 `border` / `background` 被 Luna 样式替换,原本的焦点环会丢,所以本皮肤额外补了 XP 风格的**虚线焦点框**(只加在被本皮肤改过的控件上,不动全局 `:focus-visible` 规则)。