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),防止內容滲透。

目錄 | 源碼

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

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

小夜