Skip to content

Aero backdrop accuracy changes #222

Merged
ALTaleX531 merged 1 commit intoMaplespe:masterfrom
kfh83:master
Mar 25, 2024
Merged

Aero backdrop accuracy changes #222
ALTaleX531 merged 1 commit intoMaplespe:masterfrom
kfh83:master

Conversation

@kfh83
Copy link
Copy Markdown
Contributor

@kfh83 kfh83 commented Mar 24, 2024

Originally by @ALTaleX531 for AcrylicEverywhere, with help of @aubymori and @ephemeralViolette (thx for the MiaoUI-less fork)

This'll probably need some work to adapt into the GUI (which i haven't done because MiaoUI is conveniently not included in the source for DWMBlurGlass...) considering i've added new options into config.ini (that are pretty important, mind):

[aero]
PrimaryBalance=0.0 		; Controls normal layer opacity. If you turn this up to 1 the window will be fully opaque, for example. Ranges from 0 to 1

Active_SecondaryBalance=0.0	; Controls the multiply layer intensity for active windows. Ranges from 0 to 1.
Inactive_SecondaryBalance=0.0	; Controls the multiply layer intensity for inactive windows. Ranges from 0 to 1.

Active_BlurBalance=-0.0	        ; Controls "overexposure" effect for active windows. Ranges from -1 to 1
Inactive_BlurBalance=0.0	; Controls "overexposure" effect for inactive windows. Ranges from -1 to 1 

(separated into aero category for my own sake, can be put into [config])

Here are some before/after pictures of the new mods.
image

And some comparisons between my mod and Windows 7:
image

Of course, it isn't perfect right now, but it's already miles better of what we already have and hopefully it can get even better.

Lastly, a sample of what it can look like (again, thx @ephemeralViolette for the MiaoUI-less fork of DWMBlurGlass):
BlurGlass-ColorMod.zip

Instructions should be in the README.txt provided, so please read before using.

@AllieTheFox
Copy link
Copy Markdown

Would be nice if MiaoUI was public tbh
I don't see why it isn't

@ALTaleX531 ALTaleX531 merged commit 28d3971 into Maplespe:master Mar 25, 2024
@ALTaleX531
Copy link
Copy Markdown
Collaborator

ALTaleX531 commented Mar 25, 2024

Hi guys, thank you so much for being able to put so much effort into this project! However you guys should be able to notice that the project hasn't been updated for a long time, as Maplespe has been really busy lately and it might take him a long time to come back. In the meantime, I will be managing and updating this repository on his behalf, and since I'm also a student, I can't promise that I'll spend a lot of time on this project.
I will merge your changes and port them first to AcrylicEverywhere and finally port AcrylicEverywhere back to DwmBlurGlass. Although I have access to MiaoUI, I'm not sure how to use it at the moment, and it still has a lot of bugs that haven't been fixed, so I may not be able to fully solve the problems regarding the UI.
Lastly to answer the questions related to MiaoUI, it's Maplespe's right to publicize the UI library or not. It's like why so many Windhawk mods are not uploaded to the marketplace but to some forum thread. I also think this might cause some trouble for other developers, but I hope you guys understand.

@ALTaleX531
Copy link
Copy Markdown
Collaborator

winrt::Windows::UI::Composition::CompositionBrush CAeroResources::CreateBrush(
	const winrt::Windows::UI::Composition::Compositor& compositor,
	const winrt::Windows::UI::Color& tintColor,
	float colorBalance,
	float glowBalance,
	float blurAmount,
	float blurBalance
)
lightMode_Inactive_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.inactiveBlendColor, true),
	g_configData.Inactive_SecondaryBalance,		// this controls the multiply layer intensity.
	g_configData.PrimaryBalance * 0.4f,			// aero formula calls for 40% of the active opacity on the normal layer... so i'm reflecting it here
	g_configData.customBlurAmount,
	g_configData.Inactive_BlurBalance			// intensity of "overexposure" effect.
);
darkMode_Inactive_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.inactiveBlendColorDark, true),
	g_configData.Inactive_SecondaryBalance,		// this controls the multiply layer intensity.	
	g_configData.PrimaryBalance * 0.4f,			//aero formula calls for 40% of the active opacity on the normal layer... so i'm reflecting it here
	g_configData.customBlurAmount,	
	g_configData.Inactive_BlurBalance			// intensity of "overexposure" effect.
);
lightMode_Active_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.activeBlendColor, true),
	g_configData.Active_SecondaryBalance,		// this controls the multiply layer intensity.
	g_configData.PrimaryBalance,				// this controls the normal layer intensity.
	g_configData.customBlurAmount,
	g_configData.Active_BlurBalance				// intensity of "overexposure" effect.
);
darkMode_Active_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.activeBlendColorDark, true),
	g_configData.Active_SecondaryBalance,		// this controls the multiply layer intensity.
	g_configData.PrimaryBalance,				// this controls the normal layer intensity.
	g_configData.customBlurAmount,
	g_configData.Active_BlurBalance				// intensity of "overexposure" effect.
);

@kfh83 I can successfully reproduce the effect you show, but I notice that the values you pass to colorBalance and glowBalance are flipped, is this a bug?
If so, don't worry about it, I've fixed it in AcrylicEverywhere and will fix it along the way when I port it later.

@kfh83
Copy link
Copy Markdown
Contributor Author

kfh83 commented Mar 26, 2024

winrt::Windows::UI::Composition::CompositionBrush CAeroResources::CreateBrush(
	const winrt::Windows::UI::Composition::Compositor& compositor,
	const winrt::Windows::UI::Color& tintColor,
	float colorBalance,
	float glowBalance,
	float blurAmount,
	float blurBalance
)
lightMode_Inactive_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.inactiveBlendColor, true),
	g_configData.Inactive_SecondaryBalance,		// this controls the multiply layer intensity.
	g_configData.PrimaryBalance * 0.4f,			// aero formula calls for 40% of the active opacity on the normal layer... so i'm reflecting it here
	g_configData.customBlurAmount,
	g_configData.Inactive_BlurBalance			// intensity of "overexposure" effect.
);
darkMode_Inactive_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.inactiveBlendColorDark, true),
	g_configData.Inactive_SecondaryBalance,		// this controls the multiply layer intensity.	
	g_configData.PrimaryBalance * 0.4f,			//aero formula calls for 40% of the active opacity on the normal layer... so i'm reflecting it here
	g_configData.customBlurAmount,	
	g_configData.Inactive_BlurBalance			// intensity of "overexposure" effect.
);
lightMode_Active_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.activeBlendColor, true),
	g_configData.Active_SecondaryBalance,		// this controls the multiply layer intensity.
	g_configData.PrimaryBalance,				// this controls the normal layer intensity.
	g_configData.customBlurAmount,
	g_configData.Active_BlurBalance				// intensity of "overexposure" effect.
);
darkMode_Active_Brush = CreateBrush(
	compositor,
	MakeWinrtColor(g_configData.activeBlendColorDark, true),
	g_configData.Active_SecondaryBalance,		// this controls the multiply layer intensity.
	g_configData.PrimaryBalance,				// this controls the normal layer intensity.
	g_configData.customBlurAmount,
	g_configData.Active_BlurBalance				// intensity of "overexposure" effect.
);

@kfh83 I can successfully reproduce the effect you show, but I notice that the values you pass to colorBalance and glowBalance are flipped, is this a bug? If so, don't worry about it, I've fixed it in AcrylicEverywhere and will fix it along the way when I port it later.

I think the names just need fixing... cant remember

@indigofairyx
Copy link
Copy Markdown

image

@indigofairyx
Copy link
Copy Markdown

sooo, half for fun and half cause the "aeropeek.png" background texture int he pack is small and noticeably pixeled. i jumped into photo and started making my own gradients for the aero effect.

@indigofairyx
Copy link
Copy Markdown

image

@indigofairyx
Copy link
Copy Markdown

image

@indigofairyx
Copy link
Copy Markdown

image

@indigofairyx
Copy link
Copy Markdown

and one more with sparkels!

image

@indigofairyx
Copy link
Copy Markdown

image

@TheInsane101
Copy link
Copy Markdown

Hi guys, thank you so much for being able to put so much effort into this project! However you guys should be able to notice that the project hasn't been updated for a long time, as Maplespe has been really busy lately and it might take him a long time to come back. In the meantime, I will be managing and updating this repository on his behalf, and since I'm also a student, I can't promise that I'll spend a lot of time on this project. I will merge your changes and port them first to AcrylicEverywhere and finally port AcrylicEverywhere back to DwmBlurGlass. Although I have access to MiaoUI, I'm not sure how to use it at the moment, and it still has a lot of bugs that haven't been fixed, so I may not be able to fully solve the problems regarding the UI. Lastly to answer the questions related to MiaoUI, it's Maplespe's right to publicize the UI library or not. It's like why so many Windhawk mods are not uploaded to the marketplace but to some forum thread. I also think this might cause some trouble for other developers, but I hope you guys understand.

The UI thing is a shame. Are you going to wait for Maplespe to return or are you going to try to figure it out yourself? Is it possible for somebody to make their own GUI from scratch?

@yuri980
Copy link
Copy Markdown

yuri980 commented Mar 28, 2024

sorry for the offtopic but can you share those .png files especially the sparkels one :) @indigofairyx

@indigofairyx
Copy link
Copy Markdown

aeropeek spark

@indigofairyx
Copy link
Copy Markdown

@yuri980 just having a bit of fun with overlays. is sssooooo nice having an aero style back in win10! customizable one no less :)

@indigofairyx
Copy link
Copy Markdown

i made a matrix theme overlay i really like too

aeropeek matrix  GREY DIVED LOWOP4k-3840x2160  USE ME

@indigofairyx
Copy link
Copy Markdown

AEROPEEK MY CUS FULLSCRN 60p  USE ME

@parrothead81
Copy link
Copy Markdown

Although I have access to MiaoUI, I'm not sure how to use it at the moment, and it still has a lot of bugs that haven't been fixed, so I may not be able to fully solve the problems regarding the UI. Lastly to answer the questions related to MiaoUI, it's Maplespe's right to publicize the UI library or not. It's like why so many Windhawk mods are not uploaded to the marketplace but to some forum thread. I also think this might cause some trouble for other developers, but I hope you guys understand.

@TheInsane101 @ALTaleX531 You could write up an UI for options and start/stop in AutoHotkey, that's one of the things AHK is meant to automate. It has one-line functions for things that take many lines and object instances in C++ or .NET code, so it can function sort of like HTML for creating windows, especially basic forms like DWMBlurGlass's UI uses right now. I'm not much of a coder but this UI stuff is something even I understand ;) Here are some UI examples.

Doing something with multiple tabs will take several hours at least, and the end result won't be as sleek as MiaoUI, but it will function and it's opensource too (you only need to release the .ahk file). AHK runs as script or can be compiled into a standalone .exe by the script interpreter (you don't need runtimes like with .NET and VC++).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants