DSH Desktop 宿主插件:记住桌面主窗口的尺寸、位置和最大化状态,跨启动保持你的窗口布局。
DSH Desktop 每次启动时主窗口都会恢复到同一个默认大小和位置。这个插件在窗口被拖动、缩放或关闭时记录窗口边界,下次启动时自动恢复,让窗口布局"记住"下来。
- 记住窗口的尺寸、位置、最大化状态。
- 在窗口首次显示前恢复保存的边界,因此不会有可见的尺寸跳动。
- 只通过
desktopRuntime服务工作,不打补丁、不改动 DSH 核心 bundle,因此升级 DSH 也不会被覆盖。 - 作为一个普通宿主插件随装随卸,卸载后不留任何残留。
dsh plugin add github:DrFlyingPig/dsh-window-memory装完后完全退出 DSH Desktop(托盘也退出)再重新打开即可。
说明:本插件是纯源码、无构建脚本,不会触发 pnpm 的构建脚本拦截。若以后你用它装的某个带构建脚本的插件遇到
pnpm提示,按提示把对应的构建 key 加入 profile 的pnpm-workspace.yaml再重跑即可。
git clone https://github.com/DrFlyingPig/dsh-window-memory.git
# 进入包含该仓库目录的上一级目录,然后:
dsh plugin add file:./dsh-window-memory同样需要完全退出并重开 DSH Desktop。
- 把
dsh-window-memory目录放到 DSH profile 的plugins/目录下(例如~/.dsh/profiles/desktop/plugins/dsh-window-memory)。 - 在 profile 的
package.json的dsh.profile.bundles列表中加入dsh-window-memory。 - 在 profile 目录运行
pnpm install。 - 重新启动 DSH Desktop。
启动后把窗口调整到你喜欢的大小/位置/状态,插件会自动保存到 ~/.dsh/window-memory.json;下次启动时自动恢复为这个尺寸。
dsh plugin remove dsh-window-memory卸载后如需彻底清理,可手动删除 ~/.dsh/window-memory.json(它只是窗口状态的记录文件)。
桌面运行时通过 desktopRuntime 服务暴露其主窗口 BrowserWindow。本插件:
- 在启动过程中等待主窗口被创建(窗口在引导序列的后半段才出现)。
- 在窗口显示前应用上次保存的边界(
setBounds)或重新最大化。 - 监听
resize/move(防抖)和close,把当前普通边界写回状态文件。
| 路径 | 作用 |
|---|---|
lib/index.js |
Cordis 插件本体(export { apply, inject, name }),注入 desktopRuntime 服务。 |
cordis.patch.yml |
Cordis bundle patch,把插件条目插入桌面 profile 的补丁栈。 |
package.json |
包元数据;dsh.bundle.patch 指向补丁文件。 |
窗口边界写入 ~/.dsh/window-memory.json(尽力而为)。保存的矩形经过校验,保证窗口不会被恢复到屏幕外,也不会恢复成损坏的极小尺寸。
MIT — 见 LICENSE。