LessXi/dsh-fluid-width:DSH Web GUI 聊天顯示區寬度自適應

前言

DSH Web GUI 的聊天顯示區寬度由 CSS 變量 --dsh-chat-content-width 決定,出廠值硬編碼爲 748px。聊天列、輸入框、提問卡片都消費這個變量;在寬屏窗口下,內容區會顯得偏窄。

LessXi/dsh-fluid-width 針對這個問題,把該變量覆蓋爲 min(100%, 2000px):顯示區隨窗口流動,默認保留 2000px 封頂,也可以改成完全流式。

這是什麼

LessXi/dsh-fluid-width 是面向 DSH Web GUI 的佈局插件,由 LessXi 維護,許可證爲 MIT。

它運行在 dsh web 的 client 半區,調整聊天顯示區寬度;插件沒有 host 職責。

核心功能

  • 將 CSS 變量 --dsh-chat-content-width 覆蓋爲 min(100%, 2000px)。
  • 聊天列、輸入框、提問卡片自動跟隨寬度。
  • 側邊欄和右側面板寬度不受影響。
  • 靜態覆蓋與 MutationObserver 版本無關重寫互爲兜底。
  • 零依賴且無 prepare 構建腳本。
  • 可自定義 MAX_WIDTH_PX,也可改爲 100% 以完全流式。

安裝與啓用

執行:

dsh plugin --profile web add github:LessXi/dsh-fluid-width

該插件零依賴且無 prepare 構建腳本,安裝後不需要手動構建。啓用步驟:

1、重啓 dsh web。
2、刷新瀏覽器頁面。
3、打開任意會話,縮小/拉寬瀏覽器窗口,聊天內容應隨窗口伸縮。

典型用法

默認使用

安裝後默認寬度約束爲 min(100%, 2000px):窗口變寬時內容區擴大,超過 2000px 時保留封頂。

調整寬度上限

編輯 lib/client.js 頂部的常量:

const MAX_WIDTH_PX = 2000;

可按需要調整:

  • 改成 100%(連同上面的拼接)可完全流式,無任何封頂。
  • 改小(如 1200)可讓內容重新收斂。

卸載

執行:

dsh plugin --profile web remove dsh-fluid-width

然後重啓 dsh web。

適用場景與注意

適合使用 dsh web、希望聊天顯示區更貼合窗口寬度的用戶。

需要注意:

  • 靜態覆蓋依賴當前版本 conversation 根節點的 CSS class(.hlCKXq_root)。
  • 若 DSH 升級後該 class 變化,且官方樣式改用非 px 字面量定義,兩條路徑都失效時,把 ROOT_CLASS 更新爲新的 class 即可。
  • 本倉庫按 DSH bundle 契約分發(dsh.bundle.patch → cordis.patch.yml),無需手動編輯 profile 的 cordis.patch.yml。
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。

結尾

LessXi/dsh-fluid-width 的價值,是把 DSH Web GUI 的聊天顯示區從固定寬度改爲自適應寬度:默認 min(100%, 2000px),可按需改爲完全流式或更小上限。

  • DSH 社區目錄頁:按名稱 dsh-fluid-width 檢索(獨立站點,非官方應用商店)
  • GitHub:https://github.com/LessXi/dsh-fluid-width
羽毛球分组比赛记分
小程序二维码

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

小夜