-
Notifications
You must be signed in to change notification settings - Fork 8.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Terminal has white borders in dark mode (Update ThemeUtils::SetWindowFrameDarkMode to use new DWM API) #3425
Comments
Finally figured this out! If we set the extended frame margins to Accent OnAccent OffNotice how the right border is visible, just dim. This looks like Chrome and Firefox as well. |
@greg904 we probably need both actually -- to listen to |
I would assume that I found this from Chromium: https://github.com/chromium/chromium/blob/af5c81b48faf773c19b7f3c495a1c0202f9c5b00/chrome/browser/themes/theme_service_win.cc#L60 Note that the algorithm that Chromium uses isn't working correctly in 1809+ when ColorPrevalence is disabled: https://bugs.chromium.org/p/chromium/issues/detail?id=950362. The top border has the accent color but it should not, it should be gray like the other left, right and bottom borders: |
@DHowett-MSFT is a fix for this coming in the next release? |
@Stanzilla a fix will be coming for this bug in the release that comes after the bug is closed 😄 |
One thing I've just noticed is the white border is much more prominent on laptops with NVIDIA video adapters. I have three different Dell laptops and the one with AMD graphics the border is not nearly as noticeable. Does that make any sense at all? All three laptops have |
This issue should probably be split into two issues:
Because 2 is one of many solutions to 1 but it's not the only solution. For instance, #3425 (comment) is another solution. |
The more that I think about it, the more I wonder if it is possible that one of the devs who work at Microsoft can ask the people working on DWM (because it's also from Microsoft) why calling Since the beginning, I have been trying a lot of different weird workarounds to patch this because I have no idea how it works and I really want it fixed because it burns my eyes :) but nothing is really good. However maybe the people working on DWM could find a really simple fix in a few seconds because they know what's happening under the hood? I used a program to see what API calls the |
@greg904 you're totally right. The main issue is, though, that we want to ship something that'll work properly (or quasi-properly) all the way back to 19H1 (build 18362), and any solution we get from the DWM team is going to have a very long lead time. I've been around the block with them a few times about what we "should" be doing to be good platform citizens but also blend in with other applications on the system. 😄 I wouldn't be upset about a solution that calls |
@greg904 (be careful investigating ApplicationFrameHost -- windows for modern applications get a little bit of special treatment, and they're actually slightly different in win32k, so we can't derive too much info from looking at how they work.) |
Alright, so here's the deal. I got agreement from the DWM team to ship an interim solution while they work to resolve the issue for Windows vNext. This interim solution comes in the form of a single DLL consumed through a NuGet package. It's not amazing from the perspective of an open-source project, and I understand that. I'm happy to answer any questions. |
@DHowett-MSFT it's great to see collaboration with DWM team! |
@andrew-boyarshin watch this space 😄 I think us using UXTHEME isn't entirely required; DWM likely does this for us, but we were following somebody else's example. We'll get it all ironed out in the end. |
Light system theme, light terminal theme, light borders. |
Your point is made. |
However, to answer your question:
Because this is the issue for terminal has white borders in dark mode, which is 100% fixed. If you want to discuss changing the default for light mode, please file a separate issue 😄 |
There are many similar issues but they were closed too. It's true that some of them are only about dark mode but some of them are about white borders in general, eg. #4837 |
From #3394:
The text was updated successfully, but these errors were encountered: