All plugins

DSH / BUNDLE / CLIENT-UI

dsh-arrowkey-nav

v0.5.6drscrewdriver / dsh-arrowkey-navc5841b0cad

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-arrowkey-nav

Arrow-key navigation for the DSH Web GUI: Up/Down switch sessions inside the current workspace, Left/Right switch workspaces.

README / EN

Package documentation

Registry summary

Arrow-key navigation for the DSH Web GUI: Up/Down switch sessions inside the current workspace, Left/Right switch workspaces.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **A collapsed workspace group does not scroll.** Its rows are not mounted, and dsh exposes no public way to expand a group, so the switch happens but the target row stays out of sight. The workspace holding the current session is kept expanded by dsh itself, so `↑`/`↓` are unaffected. - **A rail-collapsed sidebar does not scroll** for the same reason: the tree is not mounted. The switch still happens. - **"In one list" mode** has no workspace sections, but `←`/`→` still walk the controller's workspace order, so the list may appear to jump between sections. - **Scrolling is best effort.** Any lookup failure is swallowed: the selection has already moved, and a missing row must never turn into a wrong one. - **Snapshot fields are pre-stable.** `sessions` and `workspaces` snapshot shapes are pre-stable — the tested host releases are exactly the `engines.dsh` whitelist (`engines.dsh: 0.1.0-rc.2 || 0.1.0-rc.3 || 0.1.0-rc.6 || 0.1.0-rc.7 || 0.1.0-rc.8 || 0.1.1-rc.1 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3 || 0.2.1-rc.4`). If a dsh upgrade changes them, `src/client/navigate.ts` and `src/client/apply.ts` are the only files to revisit; a host that exposes neither switching API leaves the plugin inert rather than failing the page.