ramensoftware / windows-11-taskbar-styling-guide

A collection of commonly requested taskbar styling customizations for Windows 11
29 stars 1 forks source link

Let's talk about acrylic/mica material #18

Open MuscularPuky opened 2 weeks ago

MuscularPuky commented 2 weeks ago

Unfortunately, acrylic background of taskbar refers to the external dictionary so we can't adjust acrylic opacity, lumiosity, etc, just with hooking the taskbar. it has only StaticResources—yes we can even change gradient of search pill but acrylic. Is there any solution to access/modify ThemeResource dictionary? that'll be awesome if we can add new dictionary for acrylic taskbar background

m417z commented 2 weeks ago

I don't know UWP/XAML well enough to know what exactly has to be done for this. For example, the taskbar's XAML refers to AcrylicInAppFillColorBaseBrush, but it's not declared in the XAML.

BTW, have you seen this post? There's an example of using AcrylicBrush.

MuscularPuky commented 2 weeks ago

I don't know UWP/XAML well enough to know what exactly has to be done for this. For example, the taskbar's XAML refers to AcrylicInAppFillColorBaseBrush, but it's not declared in the XAML.

BTW, have you seen this post? There's an example of using AcrylicBrush.

Unfortuntetly it seems to he failed too. as I know AcrylicBrush class should work like ImageBrush in XAML but it's ignored by some reason Actually I did somethings with builtin acrylic brushes declarated by ThemeResources but couldn't control app theme. it has only light acrylic theme and still can't adjust opacity, lumiosity, etc :(

bbmaster123 commented 1 week ago

I couldn't get acrylic to work at the same time as having imagebrush applied to the tooltip, as at the time I couldn't find another target to apply acrylicbrush to. I never got back around to looking for another target but I'm not opposed to trying again.

I also applied acrylic all over the rest of the taskbar, and not just for the background. I always put something brightly colored under to test that its actually acrylic. For example:

Stroke:=<AcrylicBrush TintColor="#BB000000" TintOpacity="0.64"  Opacity="1"/>
BorderBrush@RequestingAttentionRunningIndicator:=<AcrylicBrush TintOpacity="1" TintColor="DarkRed" Opacity="0.85"/>
Background:=<AcrylicBrush TintColor="Transparent" TintOpacity="0" TintLuminosityOpacity="0.08" Opacity="0.72"/>

You can also set RequestedTheme="1" for light or "2" for dark Let me know if you need more help getting the background the way you want it. A screenshot and the style code you're using would also be helpful! :)

As best I can tell based on what I've read over the last few months, AcrylicInAppFillColorBaseBrush is a predefined custom brush built into windows as a default style, much the same way a wpf app would set a default button highlight color, for example. If you were designing an app with acrylic, you could then define your own custom brush which would contain properties for color, opacity, etc and you would define that as say CustomAcrylicHighlighBrush or whatever, and just call that throughout your app, in this case the taskbar. Correct me if I'm wrong, I didn't go to school for this or anything!