前言¶
在 DSH Web GUI 的默认布局中,输入栏和底部状态栏会附着在消息滚动容器底部。这导致滚动条覆盖整个容器,包括输入栏和状态栏。当向上滚动查看历史消息时,消息内容会滑动到输入栏下方。在半透明皮肤(如 harbor)下,内容甚至可能透出来,影响视觉体验。dsh-composer-fix 旨在解决这一布局问题。
插件介绍¶
这是一个针对 DSH Web GUI 布局的修复插件。它将输入栏和底部状态栏从滚动区域中移出,确保滚动条仅覆盖消息区域,且内容不会穿透输入栏。
核心功能¶
该插件实现了以下功能:
1. 移动输入栏脱离滚动区域。
2. 滚动条仅覆盖消息区域并结束于输入栏上方。
3. 消息滚动在输入栏上方停止,内容不穿透。
4. 输入栏和底部状态栏固定在窗口底部。
5. 在半透明皮肤(如 harbor)下保持不透明,防止内容渗透。
6. 修复 git 分支芯片与输入卡的对齐问题。
安装与启用¶
使用以下命令安装插件:
dsh plugin --profile web add https://github.com/AnakinCao/dsh-composer-fix.git
安装完成后,刷新页面或重启 dsh web 即可生效。
典型用法¶
插件通过 CSS 属性选择器进行操作,无需移动 DOM 节点。它通过移除滚动容器的 data-conversation-scroll 属性,使消息列表恢复自身的滚动能力。
适用场景与注意¶
- 该插件使用稳定的属性选择器,不依赖 CSS 模块哈希类。
- 不移动 DOM 节点,避免 React
removeChild卸载崩溃。 - 兼容性:如果核心升级且选择器有效,无需更改。如果核心重写了这些属性,只需更新插件中的
lib/client.js。 - 适用于半透明皮肤(如 harbor),防止内容渗透。