dsh-composer-fix:修复 DSH Web GUI 布局与滚动区域

前言

在 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),防止内容渗透。

目录 | 源码

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜