Bundle
dsh-session-ctxmenu
Right-click a session/project row in the DSH sidebar to open its built-in ellipsis menu (Rename / Fork / Archive) instead of hunting for the dots button.
- Source
- afterrealism
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 18 hours ago
Readme
# dsh-session-ctxmenu Right-click a session (or project) row in the DSH web sidebar to open that row's built-in ellipsis menu — Rename / Fork / **Archive** for sessions, Rename / Delete for projects — instead of clicking the tiny dots button that only appears on hover. ## How it works One capture-phase `contextmenu` listener. When the right-click lands inside a `[role="treeitem"]` row that owns an ellipsis menu anchor, the native browser menu is suppressed and the anchor button is clicked programmatically, so the official DSH menu opens for exactly that row. Nothing is re-implemented: same items, same handlers, same anchor position. Rows without a menu (blank new-session rows, search results) and clicks outside rows keep the native behavior. ## Install (into the `web` profile) ```sh cd /home/sheece/dsh-plugins/dsh-session-ctxmenu npm pack --pack-destination ~/.dsh/plugin-tarballs ``` Then in `~/.dsh/profiles/web/package.json` add the tarball to `dependencies` and `dsh-session-ctxmenu` to `dsh.profile.bundles`, run `pnpm install` in the profile directory, and restart `dsh web` (the profile reloads patches at startup). ## Test ```sh node --test test/client.test.mjs ``` ## 中文说明 / Chinese 在 DSH Web 侧边栏中右键点击会话(或项目)行,即可直接打开该行内置的省略号 菜单 —— 会话为「重命名 / 分叉 / 归档」,项目为「重命名 / 删除」—— 不必再去找只在悬停时才出现的小圆点按钮。 实现方式:一个捕获阶段的 `contextmenu` 监听器。当右键落在带省略号菜单锚点的 `[role="treeitem"]` 行内时,抑制浏览器原生菜单并以编程方式点击锚点按钮, 官方 DSH 菜单随即针对该行打开。没有任何菜单被重新实现:条目、处理器、 锚点位置完全一致。没有菜单的行(空白新建会话行、搜索结果)与行外点击 保持原生行为。插件本身不含界面文案,菜单语言随 DSH 界面语言自动为中文。
Install
dsh plugin --profile web add github:afterrealism/dsh-session-ctxmenu#e1ac6ff47d56ce01e61014a2dec397b96c6c0679
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-session-ctxmenu from the hub