Repository navigation
桌面端窗口尺寸无法记忆,且默认 1280×820 在高 DPI 屏幕上偏小 #9767
Replies: 1 comment
|
这条是真的,我在代码里确认了:桌面端根本没有窗口尺寸的持久化,那个 1280×820 是写死的。 代码现状
function createWindow(preload: string, show = false, primary = false): BrowserWindow {
const window = new BrowserWindow({
width: 1280,
height: 820,
minWidth: 520,
minHeight: 600,每次启动都按这四个常量建窗口,没有任何"上次的位置和大小"参与。 我又查了一遍有没有恢复逻辑,用的是 顺带一个副产品:这个 关于"高 DPI 上偏小"这里有一点要提醒:Electron 的 如果你的屏幕是 4K 但系统缩放设成了 100%,那确实会显得小——但那是缩放设置的效果,不是这个默认值算错了。建议你在报告里带上系统缩放比例,否则维护者可能会按"这是 DIP"回复你。 建议的诉求写法把两件事分开,因为它们优先级不同:
第一条更容易被采纳,第二条容易被当成偏好之争。 一个可选的替代做法
边界我核的是 一点没法从这边确认的:你那份桌面端的版本号。桌面端此前一直停在 |
Windows 11 + 0.2.1-rc.2 独立复现:不是"没记住",是这条路径不存在补充一份来自 Windows 侧的独立验证,结论和 @PerryLink 的代码分析一致。 环境:Windows 11,DSH Desktop 在本机安装包(
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
问题
DSH 桌面端(Windows / macOS)没有记忆主窗口尺寸和位置的能力。
每次关闭并重新启动后,窗口都会回到固定的默认大小。
环境:Windows,DSH 桌面端 v0.2.0-rc.2
复现步骤
期望行为
记住上次的窗口尺寸与位置(含最大化状态),启动时恢复;
并在显示器配置变化或屏幕分辨率不足时回退到安全默认值。
影响
在 4K / 高 DPI 屏幕上,1280×820 的默认窗口只占屏幕很小一块,
首次打开时刻意显得局促,用户每次启动都要重新调整一次。
已确认的实现现状
我反编译了本地安装包的 app.asar,v0.2.0-rc.2 的主进程
(apps/desktop/src/main.ts → lib/main.js)中主窗口尺寸是硬编码的:
全仓库范围内没有任何窗口 bounds 的持久化逻辑:
updates.allowTestAuthPopupWindow,没有窗口几何字段
restoreBounds / getNormalBounds 命中均为 0
补充:提交 761f532(feat(desktop): align main window default and minimum
size with Codex, 1280x820 / min 480x600)只调整了默认值与最小宽度,
并未引入持久化,因此不解决本问题。
相关但不同的已有能力
v0.2.1-alpha.3 的「桌面端可用 Cmd/Ctrl + 加号或减号统一调整正文、代码和
终端字号」确实缓解了高 DPI 下的可读性问题(字号可持久化),
但它调整的是内容字号,窗口本身的尺寸仍不会被记住。
建议
为窗口几何增加持久化(如写入 userData 下的桌面设置文件),
保存正常状态下的 bounds 与最大化状态,并在启动时校验目标
显示器是否仍然存在、尺寸是否可用,不可用时回退到默认值。
个人体验上,把默认值提高到接近屏幕工作区的某个比例、或首次启动时
按屏幕分辨率自适应,也能明显改善高 DPI 屏幕上的第一印象。
All reactions