dsh-window-size-keeper:保持 DSH 桌面窗口尺寸

前言

DSH 桌面应用在启动时会使用固定默认尺寸(1280×820)重建主窗口,之前调整过的尺寸会被重置。对于习惯在特定分辨率下工作的开发者,每次启动都要重新调整窗口大小。这个插件通过记录并恢复窗口外框尺寸,解决了这个问题。

是什么

dsh-window-size-keeper 是一个 DSH 插件,用于保持 DSH 桌面窗口在启动时使用上次调整后的尺寸。它由维护者 ecbob 开发,属于「记忆」分类插件。插件不依赖任何外部库,通过 Win32 P/Invoke 调用一个小型辅助可执行文件(编译在本地机器上)或回退到 PowerShell.exe 来获取和设置窗口尺寸。

核心功能

1. 尺寸恢复

插件记录主窗口的外框尺寸(包含标题栏和边框,以物理像素计),在下次启动时恢复该尺寸并将窗口居中显示。恢复顺序为:设置页选择 > 补丁配置中的预设 > 上次保存的尺寸。

2. 窗口尺寸设置页

在 DSH 桌面 → 设置 → Window size(与 Plugins 和 Desk pet 同级,order: 65)中提供以下控制:

  • 恢复尺寸单选组:默认为「上次尺寸」,也可选择 12 个常用分辨率,或「自定义…」
  • 自定义宽高输入框:输入任意外框尺寸(物理像素),通过「应用自定义尺寸」生效
  • 恢复时居中开关:开启时恢复尺寸后居中显示到主工作区;关闭时仅调整尺寸,位置不变
  • 应用当前选择:立即按当前选择重新调整窗口尺寸,不改变设置
  • 状态显示:当前外框尺寸、下次启动尺寸、相关文件路径

3. 即时生效

选择任一值后,主窗口会立即按当前设置调整尺寸(根据「恢复时居中」开关决定是否居中),同时写入配置文件,下次启动即使用相同尺寸。

4. DPI 适配说明

所有数值均以物理像素计,与 GetWindowRect 返回值一致。在高 DPI 缩放(如 125%)下,1920×1080 看起来会比屏幕实际宽度小,因此列表中包含 1536×864(即 125% 缩放下的 1920×1080)。

5. 显示语言

设置页文案支持中英双语,语言选择优先级为:

  1. 补丁配置中的 language 字段(值为 "zh" 或 "en" 时锁定语言)
  2. DSH 客户端当前语言(ctx.locale,设置 → 通用 → 语言,切换即时生效,无需重启)
  3. 插件自身检测(navigator / Intl),仅用于 DSH 0.1.x 客户端未提供语言服务时。其中简体中文(zh、zh-Hans*、zh-CN、zh-SG、zh-MY)被识别为中文,其他语言均显示英文

主机侧不进行 UI 翻译,仅传递机器可读的错误代码和验证提示。

安装与启用

插件通过 DSH 的插件系统安装,安装命令如下:

dsh plugin add github:ecbob/dsh-window-size-keeper

安装后,插件会在 DSH 启动时自动加载,无需额外配置。你可以在 DSH 桌面 → 设置 → Window size 中调整窗口尺寸和恢复行为。

典型用法

  1. 启动 DSH,将窗口调整到期望的尺寸,并确保居中显示。
  2. 进入 DSH 桌面 → 设置 → Window size,确认「恢复尺寸」设置为「上次尺寸」。
  3. 关闭并重新启动 DSH,窗口将恢复到上次调整的尺寸,并居中显示。

如需使用预设分辨率,可在设置页中选择 12 个常用分辨率之一;若需要更精细的控制,可在「自定义」模式下输入任意宽高值。

适用场景与注意

适合需要固定窗口尺寸、希望在每次启动时恢复到上次尺寸的开发者。插件以当前 DSH 进程权限运行,建议在安装前检查源码与许可证。

结尾

dsh-window-size-keeper 通过记录和恢复窗口外框尺寸,让 DSH 桌面窗口在启动时保持你上次调整的大小,减少重复操作。更多信息请查看:
- 插件目录页:https://www.skillhub.cn/plugins/ecbob/dsh-window-size-keeper
- GitHub 仓库:https://github.com/ecbob/dsh-window-size-keeper

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

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

小夜