Skip to content

修复显示环境变化后的主窗口布局 - #2181

Open
Mr-CG-end wants to merge 1 commit into
jlcodes99:mainfrom
Mr-CG-end:fix/main-window-display-topology
Open

修复显示环境变化后的主窗口布局#2181
Mr-CG-end wants to merge 1 commit into
jlcodes99:mainfrom
Mr-CG-end:fix/main-window-display-topology

Conversation

@Mr-CG-end

@Mr-CG-end Mr-CG-end commented Aug 31, 2026

Copy link
Copy Markdown

问题

显示器、DPI 或工作区发生变化后,主窗口可能保留过期的窗口几何信息和 WebView 边界,导致账号卡片等响应式内容尺寸异常,直到用户手动调整窗口大小后才恢复。

修复

  • 按当前显示器的物理工作区校正主窗口位置和尺寸。
  • 在窗口缩放、DPI 变化、重新聚焦和恢复显示时显式同步 WebView 边界。
  • 修复旧版混合 DPI 坐标,并确保恢复后的窗口处于可见工作区内。
  • 保持现有 CSS 响应式布局和界面缩放行为不变。
  • 避免正常跨屏拖动时窗口被吸附,并限制原生窗口校正的重试次数。

测试覆盖

新增单元测试,覆盖:

  • 工作区缩小和窗口最小尺寸
  • 混合 DPI 与旧版保存坐标
  • 负坐标显示器布局
  • 窗口部分或完全离屏
  • 正常跨屏拖动不吸附
  • 最大化与最小化状态下的校正策略
  • 窗口几何校正的幂等性

@Mr-CG-end Mr-CG-end changed the title Fix main window layout after display topology changes 修复显示环境变化后的主窗口布局 Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant