Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsh-window-memory

DSH Desktop 宿主插件:记住桌面主窗口的尺寸、位置最大化状态,跨启动保持你的窗口布局。

DSH Desktop 每次启动时主窗口都会恢复到同一个默认大小和位置。这个插件在窗口被拖动、缩放或关闭时记录窗口边界,下次启动时自动恢复,让窗口布局"记住"下来。

功能

  • 记住窗口的尺寸位置最大化状态
  • 在窗口首次显示前恢复保存的边界,因此不会有可见的尺寸跳动。
  • 只通过 desktopRuntime 服务工作,不打补丁、不改动 DSH 核心 bundle,因此升级 DSH 也不会被覆盖
  • 作为一个普通宿主插件随装随卸,卸载后不留任何残留。

安装教程

方式一:直接从 GitHub 安装(推荐,需 DSH CLI)

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

方式三:手动安装(不使用 CLI)

  1. dsh-window-memory 目录放到 DSH profile 的 plugins/ 目录下(例如 ~/.dsh/profiles/desktop/plugins/dsh-window-memory)。
  2. 在 profile 的 package.jsondsh.profile.bundles 列表中加入 dsh-window-memory
  3. 在 profile 目录运行 pnpm install
  4. 重新启动 DSH Desktop。

生效方式

启动后把窗口调整到你喜欢的大小/位置/状态,插件会自动保存到 ~/.dsh/window-memory.json下次启动时自动恢复为这个尺寸。

卸载

dsh plugin remove dsh-window-memory

卸载后如需彻底清理,可手动删除 ~/.dsh/window-memory.json(它只是窗口状态的记录文件)。

工作原理

桌面运行时通过 desktopRuntime 服务暴露其主窗口 BrowserWindow。本插件:

  1. 在启动过程中等待主窗口被创建(窗口在引导序列的后半段才出现)。
  2. 在窗口显示前应用上次保存的边界(setBounds)或重新最大化。
  3. 监听 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

About

DSH Desktop host plugin that remembers the desktop shell window's size, position and maximized state across launches.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages