DSH Desktop 插件:按住 Ctrl+Tab 在最近会话间切换

前言

在 DSH Desktop 中浏览多个会话时,如果频繁需要切换到最近查看过的会话,需要手动在侧边栏里查找并点击,操作路径较长。这个插件通过键盘快捷键,在保持会话列表不中断的前提下快速跳转。

这是什么

dsh-session-switcher 是一个 DSH Desktop 插件,由维护者 Yporcupine 开发。它通过「按住修饰键 + 敲击切换键」的方式,从最近查看的会话列表中快速选择并切换到目标会话,松开修饰键即完成切换。

插件的核心价值在于把「查找并点击」缩短为「高亮 + 松手」,减少鼠标移动和视线转移。

核心功能

按住 Ctrl 并敲击 Tab,会弹出最近查看会话的浮动列表,下一项高亮。继续按 Tab 在列表中向下移动高亮,松开修饰键则打开高亮项。Ctrl + Shift + Tab 向后循环,Esc 取消不切换。也可以用 ↑/↓ 键移动高亮,或者直接点击某一行立即打开该会话。

列表以最近查看顺序(MRU)排列:当前会话 → 历史最近查看会话 → 按侧边栏最近更新排序。每次查看会话都会更新查看历史。列表会跳过已归档会话和子代理会话,当前未开始的新会话排在最前。

插件内置「正在运行」状态指示:当前会话正在活动时,行右侧显示一个 14px 旋转圆圈,复用 DSH 侧边栏的 StateDot 样式。动画在 prefers-reduced-motion 下停止。

安装与启用

从插件管理器安装(推荐)

  1. 在 DSH 中打开 Plugins 页面(侧边栏的插件管理器页面;中文界面为「插件」)。
  2. 选择 Add plugin → Install a third-party plugin(「添加插件」→「安装第三方插件」)。
  3. 输入仓库地址并选择 Install:
https://github.com/Yporcupine/dsh-session-switcher
  1. 如果 DSH 提示重启,则重启 DSH Desktop。安装程序会自动把依赖加入你的配置文件并启用该 bundle,无需手动配置。

后续如需禁用或卸载,回到 Plugins 页面操作即可。

命令行安装

使用 dsh CLI 执行:

dsh plugin add https://github.com/Yporcupine/dsh-session-switcher

若需要指定配置文件,可使用 --profile <name>:

dsh plugin --profile desktop add https://github.com/Yporcupine/dsh-session-switcher

命令行安装后同样会自动添加依赖并启用,可能需要重启 DSH Desktop。

本地开发安装

如需本地修改插件,可检出仓库作为 linked bundle。

  1. 克隆仓库到 DSH bundles 目录(macOS / Linux 为 ~/.dsh/bundles/,Windows 为 %USERPROFILE%\.dsh\bundles\):
git clone https://github.com/Yporcupine/dsh-session-switcher.git ~/.dsh/bundles/session-switcher

Windows PowerShell:

git clone https://github.com/Yporcupine/dsh-session-switcher.git "$env:USERPROFILE\.dsh\bundles\session-switcher"
  1. 通过插件管理器或 CLI 将本地路径作为第三方插件添加:
  • 插件管理器:Plugins → Add plugin → Install a third-party plugin → 输入绝对路径(如 /home/<you>/.dsh/bundles/session-switcher、C:/Users/<you>/.dsh/bundles/session-switcher)。
  • CLI:
dsh plugin --profile desktop add /home/<you>/.dsh/bundles/session-switcher
  1. 重启 DSH Desktop。后续修改后再次重启即可生效。

若无法使用安装程序,也可以手动编辑 DSH Desktop 配置文件 ~/.dsh/profiles/desktop/package.json(Windows 为 %USERPROFILE%\.dsh\profiles\desktop\package.json),在 dependencies 中添加:

{
  "dependencies": {
    "dsh-session-switcher": "link:/home/<you>/.dsh/bundles/session-switcher"
  },
  "dsh": {
    "profile": {
      "bundles": ["...", "dsh-session-switcher"]
    }
  }
}

使用本地克隆的绝对路径(JSON 中路径使用正斜杠),然后执行 dsh plugin --profile desktop install 重新链接和安装配置,再重启 DSH。

典型用法

  1. 打开 DSH Desktop,按住 Ctrl 并连续敲击 Tab,会话列表浮窗弹出,下一项高亮。
  2. 继续按 Tab 将高亮下移,或按 Ctrl + Shift + Tab 向后移动。
  3. 确认目标后松开 Ctrl,浮窗关闭,目标会话打开。
  4. 若需取消,松开前按 Esc,或点击浮窗外部、窗口失焦时自动取消。
  5. 也可以在浮窗打开时直接点击某一行,立即打开该会话。

适用场景与注意

适合需要在多个会话间快速切换、习惯用键盘操作的开发者。插件通过固定输入(fixed input)注册快捷键,避免原生键盘桥对修饰键 keyup 的拦截,确保「松手提交」可靠。

注意:插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证(MIT)。若不希望某些快捷键出现在快捷键设置中,可在插件管理器中禁用或卸载插件。

结语

把「查找并点击」缩短为「高亮 + 松手」,是提升会话切换效率的小改动。若你在 DSH Desktop 中经常需要在最近会话间跳转,这个插件值得尝试。

目录页:https://www.skillhub.cn/plugins/Yporcupine/dsh-session-switcher
GitHub:https://github.com/Yporcupine/dsh-session-switcher

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

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

Xiaoye