概览
dsh-plugin-background-image
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
本插件通过**覆写 DSH 主题 token** 与**注入 CSS** 工作,会改变全局界面外观。请注意: 1. **沉浸式全屏只绘制一张固定图层**:插件把 `--dsw-alias-bg-base` 与 `--dsw-specific-sidebar-fill` 置为 `transparent`,再用 `body::before`(`position: fixed`)画一次图。这样网页端与桌面端(包括 macOS 上窗口本身透明、使用原生 vibrancy 的桌面窗口)的侧栏、中间列、详情列与底部区域背后都是同一张连续的图,不会出现只有中间列有图的断裂。直接使用 `--dsw-alias-bg-base` 的区域(例如部分工具面板表面)会透出背景图;使用 `--dsw-alias-bg-layer-*` / `--dsw-alias-bg-overlay` 的菜单、设置面板与浮层对话框保持不透明。 2. **仅对话区域**把图画在中间列上,其余区域保持原生背景。 3. **内部结构选择器使用语义后缀与稳定 data 属性**:插件匹配 `[class*="_sidebarCol"]`、`[class*="_centerCol"]`、`[class*="_frame"]`、`[data-rightbar-col]`、`[data-shell-bottom]`、`[data-phase][class*="_root"]`、`[data-composer-seat]`、`[class*="_viewArea"]`、`[class*="_composerStack"]`、`[class*="_composerHero"]`,不再依赖某个版本的 CSS Module 哈希。未来 DSH 若重命名这些语义后缀或属性,对应效果仍可能失效;基于 token 的背景图本身不受影响。 4. **侧栏毛玻璃依赖伪元素方案**:玻璃效果加在 `<侧栏列>::before`(绝对定位覆盖层,承载半透明填充与 `backdrop-filter`)而不是侧栏祖先本身,并把侧栏内容根设为 `position: relative` 让它绘制在玻璃之上。这样侧栏不会成为 `position: fixed` 浮层的包含块。 5. **本地图片路由**:本地图片依赖 Host 的只读路由(仅回环来源、引用即授权)。文件被移动或删除后背景失效,需要重新设置路径。插件会在页面加载与打开设置页时用 HEAD 静默探测(不传输文件内容),失效时在设置页顶部与状态行提示。 6. **关闭即还原**:上述 token 覆写与内部类名样式只在插件启用时存在于页面中(侧栏规则还要求沉浸式全屏模式)。关闭插件后会整表移除对应样式,完整还原 DSH 原生样式,不残留 `!important` 覆写。
