Skip to content
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

Aero backdrop accuracy changes #222

Merged
merged 1 commit into from
Mar 25, 2024
Merged

Aero backdrop accuracy changes #222

merged 1 commit into from
Mar 25, 2024

Conversation

kfh83
Copy link
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.

@Olive6841
Copy link

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
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
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
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

image

@indigofairyx
Copy link

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

image

@indigofairyx
Copy link

image

@indigofairyx
Copy link

image

@indigofairyx
Copy link

and one more with sparkels!

image

@indigofairyx
Copy link

image

@TheInsane101
Copy link

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

yuri980 commented Mar 28, 2024

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

@indigofairyx
Copy link

aeropeek spark

@indigofairyx
Copy link

@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

i made a matrix theme overlay i really like too

aeropeek matrix  GREY DIVED LOWOP4k-3840x2160  USE ME

@indigofairyx
Copy link

AEROPEEK MY CUS FULLSCRN 60p  USE ME

@parrothead81
Copy link

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