Support for dark window title bars on Windows.

The current situation

The existing title bar is white, enabling dark title bar will help us get a more unified UI.

Target

The Technology Path

Since Windows 10 1809, Microsoft has provided an API for modifying only the color of the window title bar.

The method reference is
stackoverflow.com/questions/39261826/change-the-color-of-the-title-bar-caption-of-a-win32-application

Documentation see
docs.microsoft.com/en-us/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute

At the same time, this API does not affect compatibility with older versions, and on Windows 7 or earlier versions of Windows, the API will not work and will not cause strange errors.

2 Likes

I had gotten tired of the white title bar as well, fortunately it is a windows setting you can opt into.

Right click desktop → personalization → colors → accent color → show accent color on title bars

Be sure to pick a dark accent color

This approach defeats the purpose of this thread.

There are still many light-colored windows in Windows 10/11, so forcing their title bar color will further add to the sense of fragmentation.

There are many users who use other accent colors - other than black, in which case the color assigned to the title bar does not create an effective, uniform, harmonious look with the Blender title bar.

Its an immediate solution, which is the important thing to have for anybody finding this thread from a search. At some point I started noticing the title bar was white, I don’t think it was always that way but at least it is about the easiest thing to work around with windows settings. That’s all I’m going to be adding probably, since it’s all I’ve needed. As far as fragmentation, if I want my windows theme to be dark, light, or whatever weird color, I want everything else to fall in line. Non-issue for me, thankfully.

I agree, it would be much more aesthetically pleasing if Blender used the menu bar color also for window title bar.
This way, any theme a use chooses would look nice and unified, regardless if it’s bright, dark, blue or red :slight_smile:

Looking at the API in the link, it looks like relatively simple thing to do. Maybe @Harleya could help, because he’s really good at tackling these things.

@Shompinice

This proposal needs some clarification. Although the title is “Support for dark window title bars on Windows” this seems unrelated to the color being dark. Your “Target” image shows the title bar background color matching the Top Bar’s “Header” color. Is your intent that this is always the case? So if you select a Blender Light theme the title bar would also be light?

A complication with having the titlebar color matching the Topbar color is what to do when the window is not active. As in start with a default startup, select Window / New Main Window. Now you have two windows, but only one can be active at a time. Normally the titlebars of inactive windows are draw in a different color to indicate that they don’t have focus. If we do so by selecting some arbitrary inactive titlebar color (move toward middle grey?) then it would no longer be the same as the TopBar color. Or would you change the TopBar color when the window is inactive?

Yes, that’s what I mean. The title bar should match dark/light colors. (But the trouble is that I’m not sure if this color can be dynamic, because Blender is Direct UI, which defines all colors that can be defined through an xml file - except for the title bar).

I’m not sure if the title bar can match the individual colors, white, dark grey, light grey…etc.

As for what you said, the question of activated windows and inactive windows, on Windows, the difference can be ignored. Since the Windows 10 era, the focus/unfocus window title bar of modern UI, the difference is the title bar text color.

In the Windows 11 era, if the title bar of the modern UI and the title bar of the focused/unfocused window use the Mica material, the focused window will be Mica, and the unfocused window will be dark gray/white.

Dark grey/white if ThemeResource AppBackgroundColor.

can you find the difference between active/inactive tittle bar?
no
so forget it

So your proposal is better described as “Use Top Bar Header Color for OS Caption Color”.

Is this something you are considering working on yourself and are asking for prior opinion or approval before you start? Or is this a suggestion for other people to do?

I talked with @Shompinice on chat, it’s something he wants, so although this seemed to go somewhere, we sadly have to draw a hard line, feature requests as best handled on rightclickselect.com there’s a banner about this on top of every page, I’ll have to close this topic by forum rules.

1 Like