mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2026-07-03 07:08:27 +00:00
Clean up styling to better match Windows fluent design guidelines (#638)
This commit is contained in:
@@ -1,3 +1,26 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Applies light or dark theme colors to a WPF window's resource dictionary.
|
||||
|
||||
.DESCRIPTION
|
||||
Iterates over a predefined set of theme color categories and
|
||||
populates the window's Resources with SolidColorBrush entries keyed by
|
||||
category and resource name (e.g. "AppAccentColor"). Additionally loads and
|
||||
merges shared XAML styles from the script's SharedStylesSchema path if
|
||||
available.
|
||||
|
||||
.PARAMETER window
|
||||
The WPF Window whose resource dictionary will be populated.
|
||||
|
||||
.PARAMETER usesDarkMode
|
||||
When $true, dark theme colors are applied; when $false, light theme colors.
|
||||
|
||||
.EXAMPLE
|
||||
SetWindowThemeResources -window $MainWindow -usesDarkMode $true
|
||||
|
||||
.EXAMPLE
|
||||
SetWindowThemeResources -window $Dialog -usesDarkMode $false
|
||||
#>
|
||||
# Sets resource colors for a WPF window based on dark mode preference
|
||||
function SetWindowThemeResources {
|
||||
param (
|
||||
@@ -5,80 +28,99 @@ function SetWindowThemeResources {
|
||||
[bool]$usesDarkMode
|
||||
)
|
||||
|
||||
if ($usesDarkMode) {
|
||||
$window.Resources.Add("BgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#202020")))
|
||||
$window.Resources.Add("FgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFFFFF")))
|
||||
$window.Resources.Add("CardBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#2b2b2b")))
|
||||
$window.Resources.Add("BorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#404040")))
|
||||
$window.Resources.Add("ButtonBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#404040")))
|
||||
$window.Resources.Add("CheckBoxBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#272727")))
|
||||
$window.Resources.Add("CheckBoxBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#808080")))
|
||||
$window.Resources.Add("CheckBoxHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#343434")))
|
||||
$window.Resources.Add("ComboBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#373737")))
|
||||
$window.Resources.Add("ComboHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#434343")))
|
||||
$window.Resources.Add("ComboItemBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#2c2c2c")))
|
||||
$window.Resources.Add("ComboItemHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#383838")))
|
||||
$window.Resources.Add("ComboItemSelectedColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#343434")))
|
||||
$window.Resources.Add("AccentColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFD700")))
|
||||
$window.Resources.Add("ButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#434343")))
|
||||
$window.Resources.Add("ButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#989898")))
|
||||
$window.Resources.Add("SecondaryButtonBg", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#393939")))
|
||||
$window.Resources.Add("SecondaryButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#2a2a2a")))
|
||||
$window.Resources.Add("SecondaryButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#1e1e1e")))
|
||||
$window.Resources.Add("SecondaryButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#3b3b3b")))
|
||||
$window.Resources.Add("SecondaryButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#787878")))
|
||||
$window.Resources.Add("InputFocusColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#1f1f1f")))
|
||||
$window.Resources.Add("ScrollBarThumbColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#3d3d3d")))
|
||||
$window.Resources.Add("ScrollBarThumbHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#4b4b4b")))
|
||||
$window.Resources.Add("TitlebarButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#2d2d2d")))
|
||||
$window.Resources.Add("TitlebarButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#292929")))
|
||||
$window.Resources.Add("AppIdColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#afafaf")))
|
||||
$window.Resources.Add("SearchHighlightColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#4A4A2A")))
|
||||
$window.Resources.Add("SearchHighlightActiveColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#8A7000")))
|
||||
$window.Resources.Add("TableHeaderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#333333")))
|
||||
}
|
||||
else {
|
||||
$window.Resources.Add("BgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f3f3f3")))
|
||||
$window.Resources.Add("FgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#000000")))
|
||||
$window.Resources.Add("CardBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#fbfbfb")))
|
||||
$window.Resources.Add("BorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ededed")))
|
||||
$window.Resources.Add("ButtonBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#d3d3d3")))
|
||||
$window.Resources.Add("CheckBoxBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f5f5f5")))
|
||||
$window.Resources.Add("CheckBoxBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#898989")))
|
||||
$window.Resources.Add("CheckBoxHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ececec")))
|
||||
$window.Resources.Add("ComboBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFFFFF")))
|
||||
$window.Resources.Add("ComboHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f8f8f8")))
|
||||
$window.Resources.Add("ComboItemBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f9f9f9")))
|
||||
$window.Resources.Add("ComboItemHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f0f0f0")))
|
||||
$window.Resources.Add("ComboItemSelectedColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f3f3f3")))
|
||||
$window.Resources.Add("AccentColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ffae00")))
|
||||
$window.Resources.Add("ButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#bfbfbf")))
|
||||
$window.Resources.Add("ButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ffffff")))
|
||||
$window.Resources.Add("SecondaryButtonBg", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#fbfbfb")))
|
||||
$window.Resources.Add("SecondaryButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f6f6f6")))
|
||||
$window.Resources.Add("SecondaryButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f0f0f0")))
|
||||
$window.Resources.Add("SecondaryButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f7f7f7")))
|
||||
$window.Resources.Add("SecondaryButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#b7b7b7")))
|
||||
$window.Resources.Add("InputFocusColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#fbfbfb")))
|
||||
$window.Resources.Add("ScrollBarThumbColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#b9b9b9")))
|
||||
$window.Resources.Add("ScrollBarThumbHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#8b8b8b")))
|
||||
$window.Resources.Add("TitlebarButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#e1e1e1")))
|
||||
$window.Resources.Add("TitlebarButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#e6e6e6")))
|
||||
$window.Resources.Add("AppIdColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#666666")))
|
||||
$window.Resources.Add("SearchHighlightColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFF4CE")))
|
||||
$window.Resources.Add("SearchHighlightActiveColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFD966")))
|
||||
$window.Resources.Add("TableHeaderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ffffff")))
|
||||
$ThemeColor = @{
|
||||
App = @{
|
||||
AccentColor = @{ Light = '#ffae00'; Dark = '#ffd700' }
|
||||
BorderColor = @{ Light = '#ededed'; Dark = '#404040' }
|
||||
BgColor = @{ Light = '#f3f3f3'; Dark = '#202020' }
|
||||
FgColor = @{ Light = '#000000'; Dark = '#ffffff' }
|
||||
IdColor = @{ Light = '#666666'; Dark = '#afafaf' }
|
||||
}
|
||||
|
||||
Card = @{
|
||||
BgColor = @{ Light = '#fbfbfb'; Dark = '#2b2b2b' }
|
||||
}
|
||||
|
||||
Button = @{
|
||||
BorderColor = @{ Light = '#d3d3d3'; Dark = '#404040' }
|
||||
BgColor = @{ Light = '#0067c0'; Dark = '#0067c0' }
|
||||
DisabledColor = @{ Light = '#bfbfbf'; Dark = '#434343' }
|
||||
HoverColor = @{ Light = '#1975c5'; Dark = '#1975c5' }
|
||||
PressedColor = @{ Light = '#3183ca'; Dark = '#3183ca' }
|
||||
TextDisabledColor = @{ Light = '#ffffff'; Dark = '#989898' }
|
||||
}
|
||||
|
||||
SecondaryButton = @{
|
||||
BgColor = @{ Light = '#fbfbfb'; Dark = '#393939' }
|
||||
DisabledColor = @{ Light = '#f7f7f7'; Dark = '#3b3b3b' }
|
||||
HoverColor = @{ Light = '#f6f6f6'; Dark = '#2a2a2a' }
|
||||
PressedColor = @{ Light = '#f0f0f0'; Dark = '#1e1e1e' }
|
||||
TextDisabledColor = @{ Light = '#b7b7b7'; Dark = '#787878' }
|
||||
}
|
||||
|
||||
CheckBox = @{
|
||||
BgColor = @{ Light = '#f5f5f5'; Dark = '#272727' }
|
||||
BorderColor = @{ Light = '#898989'; Dark = '#808080' }
|
||||
HoverColor = @{ Light = '#ececec'; Dark = '#343434' }
|
||||
}
|
||||
|
||||
ComboBox = @{
|
||||
BgColor = @{ Light = '#ffffff'; Dark = '#373737' }
|
||||
HoverColor = @{ Light = '#f8f8f8'; Dark = '#434343' }
|
||||
ItemBgColor = @{ Light = '#f9f9f9'; Dark = '#2c2c2c' }
|
||||
ItemHoverColor = @{ Light = '#f0f0f0'; Dark = '#383838' }
|
||||
ItemSelectedColor = @{ Light = '#f3f3f3'; Dark = '#343434' }
|
||||
}
|
||||
|
||||
TextBox = @{
|
||||
BorderColor = @{ Light = '#bdbdbd'; Dark = '#989a9d' }
|
||||
BgColor = @{ Light = '#fbfbfb'; Dark = '#2d2d2d' }
|
||||
FocusColor = @{ Light = '#ffffff'; Dark = '#1f1f1f' }
|
||||
HoverColor = @{ Light = '#f6f6f6'; Dark = '#323232' }
|
||||
SideBorderColor = @{ Light = '#ececec'; Dark = '#343434' }
|
||||
}
|
||||
|
||||
ScrollBar = @{
|
||||
ThumbColor = @{ Light = '#b9b9b9'; Dark = '#3d3d3d' }
|
||||
ThumbHoverColor = @{ Light = '#8b8b8b'; Dark = '#4b4b4b' }
|
||||
}
|
||||
|
||||
TitleBar = @{
|
||||
ButtonHoverColor = @{ Light = '#dcdcdc'; Dark = '#353535' }
|
||||
ButtonPressedColor = @{ Light = '#cccccc'; Dark = '#333333' }
|
||||
CloseHoverColor = @{ Light = '#e81123'; Dark = '#e81123' }
|
||||
ClosePressedColor = @{ Light = '#f1707a'; Dark = '#f1707a' }
|
||||
UnfocusedFgColor = @{ Light = '#868686'; Dark = '#969696' }
|
||||
}
|
||||
|
||||
Search = @{
|
||||
HighlightActiveColor = @{ Light = '#ffd966'; Dark = '#8a7000' }
|
||||
HighlightColor = @{ Light = '#fff4ce'; Dark = '#4a4a2a' }
|
||||
}
|
||||
|
||||
Table = @{
|
||||
HeaderColor = @{ Light = '#ffffff'; Dark = '#303030' }
|
||||
}
|
||||
|
||||
Icon = @{
|
||||
ErrorColor = @{ Light = '#e81123'; Dark = '#e81123' }
|
||||
InformationColor = @{ Light = '#0078d4'; Dark = '#0078d4' }
|
||||
QuestionColor = @{ Light = '#0078d4'; Dark = '#0078d4' }
|
||||
SuccessColor = @{ Light = '#107c10'; Dark = '#107c10' }
|
||||
WarningColor = @{ Light = '#ffb900'; Dark = '#ffb900' }
|
||||
}
|
||||
}
|
||||
|
||||
$window.Resources.Add("ButtonBg", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#0067c0")))
|
||||
$window.Resources.Add("ButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#1E88E5")))
|
||||
$window.Resources.Add("ButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#3284cc")))
|
||||
$window.Resources.Add("CloseHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#c42b1c")))
|
||||
$window.Resources.Add("InformationIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#0078D4")))
|
||||
$window.Resources.Add("SuccessIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#107C10")))
|
||||
$window.Resources.Add("WarningIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFB900")))
|
||||
$window.Resources.Add("ErrorIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#E81123")))
|
||||
$window.Resources.Add("QuestionIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#0078D4")))
|
||||
$Theme = if ($usesDarkMode) { 'Dark' } else { 'Light' }
|
||||
|
||||
foreach ($Group in $ThemeColor.GetEnumerator()) {
|
||||
foreach ($Resource in $Group.Value.GetEnumerator()) {
|
||||
$ResourceName = $Group.Key + $Resource.Key
|
||||
$window.Resources[$ResourceName] = [System.Windows.Media.SolidColorBrush]::new(
|
||||
[System.Windows.Media.ColorConverter]::ConvertFromString($Resource.Value[$Theme])
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
# Load and merge shared styles
|
||||
if ($script:SharedStylesSchema -and (Test-Path $script:SharedStylesSchema)) {
|
||||
|
||||
Reference in New Issue
Block a user