在 DSH Web GUI 中,切換會話通常需要點擊或複製粘貼命令。dsh-arrowkey-nav 插件通過鍵盤快捷鍵解決了這個問題,允許用戶在會話和工作區之間導航。
核心功能¶
- 會話導航:在當前工作區內,使用
↑切換到上一個會話,使用↓切換到下一個會話。 - 工作區導航:使用
←切換到上一個工作區,使用→切換到下一個工作區。 - 自動滾動:切換後,目標行會自動滾動到視圖內。
- 焦點保持:如果在按下按鍵前焦點在編輯器中,鬆開按鍵後焦點會返回編輯器,以便繼續打字。
- 循環導航:到達工作區或列表邊緣時,會自動循環到另一端。
安裝與啓用¶
插件通過 DSH 的插件系統安裝。
dsh plugin --profile web add dsh-arrowkey-nav -w
安裝完成後,重啓 profile,然後重新加載 Web UI。可以通過以下命令驗證配置:
dsh web --dump-config | Select-String dsh-arrowkey-nav
工作原理¶
插件不依賴 DOM 節點的 ID,而是通過客戶端控制器進行會話切換。它會讀取側邊欄的渲染順序來確定會話的“下一個”和“上一個”,而不是依賴控制器的成員列表順序。這種設計確保了在會話被重新排序時導航仍然有效。
已知限制¶
- 摺疊視圖不滾動:摺疊的工作區組或側邊欄不會觸發滾動,雖然切換操作仍然有效。
- IME 與修飾鍵:如果按鍵已被輸入法或修飾鍵佔用,插件不會攔截按鍵。
- 編輯器狀態:空編輯器允許使用方向鍵導航;一旦編輯器有草稿,方向鍵將交給光標控制。
- 兼容性:需要 DSH 0.1.0 到 0.2.0 的特定發佈版本。