Commit 65d1185
fix(windows): recalculate hit-test regions on DPI change for frameless windows
When a frameless transparent window is moved between monitors with
different DPI settings, the hit-test regions weren't being recalculated,
causing the right and bottom edges to become unresponsive to clicks.
This fix adds the SWP_FRAMECHANGED flag to SetWindowPos in the
WM_DPICHANGED handler for frameless windows, which triggers
WM_NCCALCSIZE to recalculate the non-client area and hit-test regions.
For frameless windows with decorations, the DWM frame is also
re-extended into the client area to ensure proper window frame
styling after the DPI change.
Fixes #4691
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent bf1173c commit 65d1185
File tree
2 files changed
+16
-1
lines changed- v3
- pkg/application
2 files changed
+16
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1584 | 1584 | | |
1585 | 1585 | | |
1586 | 1586 | | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
1587 | 1594 | | |
1588 | 1595 | | |
1589 | 1596 | | |
1590 | 1597 | | |
1591 | 1598 | | |
1592 | 1599 | | |
1593 | | - | |
| 1600 | + | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
1594 | 1608 | | |
1595 | 1609 | | |
1596 | 1610 | | |
| |||
0 commit comments