kingToolbox / kingToolbox/WindTerm
UI layout corruption/misalignment after toggling external monitor power (High DPI / Multi-Monitor)
- Dominant language
- C
- Stars
- 32.3k
- Forks
- 2.5k
- PR merge metrics
- No merged PRs in 30d
Description
### Environment
- **WindTerm Version:** 2.7.0
- **OS:** Windows 11 (64-bit)
- **Monitors:** - Laptop: 1920x1080 (Built-in)
- External: 2560x1440 (Connected via HDMI)
### Expected Behavior
When turning the external monitor back on, WindTerm's UI should adapt to the 2560x1440 resolution correctly without layout distortion.
### Actual Behavior
When returning to my seat and turning on the external monitor's power, Windows redetects the resolution. However, WindTerm's internal embedded windows and panels become severely misaligned and corrupted, looking as if they are still trapped or rendered in a lower resolution scale.
### Steps to Reproduce
1. Move the WindTerm window to the external monitor (2560x1440).
2. Turn off the external monitor's power switch (leaving the laptop running).
3. Wait for a while, then turn the external monitor back on.
4. WindTerm's UI layout breaks/misaligns due to the resolution/DPI display hotplug change.
### Temporary Workaround
I can fix this temporarily without restarting the session by dragging the WindTerm window back to the laptop screen, maximizing it, and then dragging it back to the external monitor. This forces the Qt UI layout to recalculate and snap back to normal.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the issue on Windows 11 with a 1920x1080 laptop and 2560x1440 external monitor by power-cycling the external display while WindTerm is open. Start by tracing the Qt UI's display and DPI hotplug handling. Done means embedded windows and panels remain correctly aligned after the monitor is turned off and on without requiring window movement or a restart.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100