OpenGlass icon indicating copy to clipboard operation
OpenGlass copied to clipboard

(Suggestion) Vista-style opaque titlebars/window borders when maximized

Open DAPOPOBEFASTONYOAZZ opened this issue 1 year ago • 2 comments

Great work on this project so far and I'm impressed with the progress made on the master branch.

One feature I would love to see (re-implemented) is windows becoming opaque when maximized. Windows Vista had this functionality - presumably to cut down on resource usage due to hardware at the time - but was removed in Windows 7 in favor of transparent windows at any time. However, it can still be a neat effect with certain themes and colors and I would love to see it return. I believe that this is a DWM functionality, but I'm not entirely sure.

I can attach images of this later, if needed.

Thanks - keep up the good work.

Edit: sorry, I saw that there is an "ideas" section in discussions. I am still somewhat green to Github, so I am still learning where some of these sections are. Apologies for submitting this in issues.

DAPOPOBEFASTONYOAZZ avatar Nov 20 '24 15:11 DAPOPOBEFASTONYOAZZ

I've researched this a little more...

Similar to #88, Windows Vista actually uses two different reflection values that are hard-coded depending on whether the window is transparent or opaque (in this case, whether it is maximized or not.)

When a window is transparent based on the current Legacy build that implements ColorizationGlassReflectionIntensityInactive, Windows Vista's values for active windows would be 0x00000064 and an inactive window's value is 0x00000032.

When a window is maximized and becomes opaque, it has two other values for reflection intensity. Active reflection intensity is 0x00000048 and inactive is 0x0000002d.

For authenticity, this would call for the implementation of a registry key corresponding to the maximized opaque blend (perhaps ColorizationGlassReflectionMaximizedIntensity and ColorizationGlassReflectionMaximizedIntensityInactive, though these are too wordy in my opinion.) with the fallback of ColorizationGlassReflectionIntensity and ColorizationGlassReflectionIntensityInactive when it does not have a value set.

DAPOPOBEFASTONYOAZZ avatar May 28 '25 13:05 DAPOPOBEFASTONYOAZZ

I've been aware of this for a long time, in fact vista's maximize to opaque feature is nothing more than msstyle storing a separate set of colors for maximization.

In theory, it is not difficult to implement such a feature, but in practice it takes a very large amount of time and effort. But is it all really worth it? I'll probably only provide the basic functionality, and leave the rest of the functionality to meet highly customizable requirements to be implemented by downstream projects.

ALTaleX531 avatar May 28 '25 17:05 ALTaleX531

I've been aware of this for a long time, in fact vista's maximize to opaque feature is nothing more than msstyle storing a separate set of colors for maximization.

In theory, it is not difficult to implement such a feature, but in practice it takes a very large amount of time and effort. But is it all really worth it? I'll probably only provide the basic functionality, and leave the rest of the functionality to meet highly customizable requirements to be implemented by downstream projects.

I'd be grateful with the glass going opaque on maximize lol

TheDolphinSlayer avatar Jun 16 '25 03:06 TheDolphinSlayer

I'd be grateful with the glass going opaque on maximize lol

I didn't think about this being a performance improvement, either. I don't know how I forgot about that. I remember that's one of the key reasons why Vista did it, since hardware still wasn't up to par to be able to run it the same way 7 did where everything was transparent at all times.

DAPOPOBEFASTONYOAZZ avatar Jun 16 '25 20:06 DAPOPOBEFASTONYOAZZ

I've been aware of this for a long time, in fact vista's maximize to opaque feature is nothing more than msstyle storing a separate set of colors for maximization.

In theory, it is not difficult to implement such a feature, but in practice it takes a very large amount of time and effort. But is it all really worth it? I'll probably only provide the basic functionality, and leave the rest of the functionality to meet highly customizable requirements to be implemented by downstream projects.

what would be so difficult even

arceuss avatar Sep 14 '25 04:09 arceuss

any update on this?

micro2547 avatar Sep 26 '25 16:09 micro2547