The titlebar is visible when using vintage opacity with a HIGH DPI display #15388

Closed
opened 2026-01-31 04:37:08 +00:00 by claunia · 2 comments
Owner

Originally created by @zadjii-msft on GitHub (Sep 29, 2021).

Originally assigned to: @carlos-zamora on GitHub.

discovered in the 1.12 bug bash on 9/28

image

regressed in #11180

Originally created by @zadjii-msft on GitHub (Sep 29, 2021). Originally assigned to: @carlos-zamora on GitHub. _discovered in the 1.12 bug bash on 9/28_ ![image](https://user-images.githubusercontent.com/18356694/135273925-4fea4eb4-d3b0-40df-943d-f7988ead0d10.png) regressed in #11180
Author
Owner

@zadjii-msft commented on GitHub (Sep 29, 2021):

I could not for the life of me get a repro, but @carlos-zamora has one, so he gets the cookie. I'm guessing this has to do with the changes to IslandWindow / NonClientIslandWindow in #11180. I'd start there. I'm guessing the titlebar isn't getting scaled right for the DPI, or at least the MARGINS we're passing to DwnExtendFrameIntoClientArea aren't scaled right? hard to say.

@zadjii-msft commented on GitHub (Sep 29, 2021): I could not for the life of me get a repro, but @carlos-zamora has one, so he gets the cookie. I'm guessing this has to do with the changes to `IslandWindow` / `NonClientIslandWindow` in #11180. I'd start there. I'm guessing the titlebar isn't getting scaled right for the DPI, or at least the MARGINS we're passing to `DwnExtendFrameIntoClientArea` aren't scaled right? hard to say.
Author
Owner

@carlos-zamora commented on GitHub (Sep 30, 2021):

Ok. I did a bit of digging. Found a few interesting notes:

  • it doesn't happen when initialPosition is set to the non-high DPI monitor
  • it seems to particularly occur when the window is dragged from a high DPI to a non-high DPI monitor

Looking for the code where we refresh the window size on that drag. Surprisingly, NonClientIslandWindow::_UpdateFrameMargins isn't called when that happens.

@carlos-zamora commented on GitHub (Sep 30, 2021): Ok. I did a bit of digging. Found a few interesting notes: - it doesn't happen when `initialPosition` is set to the non-high DPI monitor - it seems to particularly occur when the window is dragged from a high DPI to a non-high DPI monitor Looking for the code where we refresh the window size on that drag. Surprisingly, `NonClientIslandWindow::_UpdateFrameMargins` isn't called when that happens.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#15388