Repository navigation
Conversation
MaaBlock
marked this pull request as draft
October 30, 2026 14:11
MaaBlock
marked this pull request as ready for review
October 30, 2026 14:11
MaaBlock
force-pushed
the
fix/mixed-dpi-multi-monitor
branch
from
October 30, 2026 14:30
54e7b80 to
4e3cb41
Compare
Contributor
|
没完全看懂,让LLM看了下 合理的部分:
|
- Convert DWM-virtualized TSF GetTextExt coordinates from non-Per-Monitor-DPI host threads to physical screen coordinates via single-monitor window bounds mapping or per-point LogicalToPhysicalPointForPerMonitorDPI when straddling monitors. - Share User32DpiApi (initialized via InitOnceExecuteOnce for /Zc:threadSafeInit-) and ThreadDpiAwarenessScope in WeaselUtility.h, and apply scope at external WeaselPanel entry points outside WindowProc. - Preserve incoming input position and prime target monitor placement when MoveTo arrives before layout creation, spawn popup on parent's physical monitor instead of (0, 0), and keep _Reposition idempotent across cross-monitor DPI changes.
MaaBlock
force-pushed
the
fix/mixed-dpi-multi-monitor
branch
from
November 3, 2026 15:17
4e3cb41 to
0cb6394
Compare
问题描述
在混合 DPI 多显示器环境下(例如主屏 2560x1440 @ 150% DPI、副屏 1920x1080 @ 100% DPI),当非 Per-Monitor DPI Aware 的宿主程序(如 32 位桌面客户端、传统 System-DPI-Aware / Unaware 应用)位于副屏时,存在以下问题:
修改内容
oot(显式判空)。
手工回归测试清单(Regression Checklist)
cWorkArea)截断正常。