Replies: 2 comments
-
Looping in @duncanmacmichael as this is feature more in his wheelhouse than mine. 😃 I support the idea here though, so I'll be sure to upvote it in planning sessions once we have it tracked. 👍 |
Beta Was this translation helpful? Give feedback.
0 replies
-
Great, thanks @rkarman! This is great feedback @sylveon, very well thought-out and articulated. I will run this by the dev team to make sure it's on their radar, and we'll take it into account for future planning. Appreciate it! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
It's been a long known trick that Win32 apps can call the undocumented
SetWindowCompositionAttribute
API to get an Aero-like blur effect behind their app. They can also use this to get a static color, but with a custom opacity level (this is also possible using only documented APIs, butSetWindowCompositionAttribute
was easier than going the documented route and had less drawbacks, for example WPF did not lose hardware acceleration).At some point, Acrylic was added to this API, and apps started using this capability as well.
Now, WASDK is exposing ways for apps (both WinUI 3 and non-WinUI) to use Acrylic and Mica in a properly documented matter. Meanwhile,
SetWindowCompositionAttribute
was broken several times in Windows updates, naturally due to it being undocumented and underused by the OS. It has also been fixed several times, due to apps unfortunately relying on this behavior despite it being undocumented.In some apps, an Aero-like blur or a purely transparent color might be more desirable than Acrylic or Mica, if it fits the app's design better. The Windows App SDK should expose these two accent states (
ACCENT_ENABLE_BLURBEHIND
andACCENT_ENABLE_TRANSPARENTGRADIENT
, specifically) to developers, so as to provide a way to give developers using these effects a migration path, and offer stronger stability guarantees.The API for these effects could show up as (tentative names)
Microsoft.UI.Composition.SystemBackdrops.AeroBlurController
andMicrosoft.UI.Composition.SystemBackdrops.SolidColorController
.AeroBlurController
would offerFallbackColor
,TintColor
andTintOpacity
, whileSolidColorController
would only offerTintColor
andTintOpacity
, the fallback simply being an opaque version ofTintColor
.As requested on Discord: cc @jonwis @rkarman
Beta Was this translation helpful? Give feedback.
All reactions