diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 445fd96f..06b8ced8 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -19,10 +19,6 @@ template: | $CHANGES - ## Contributors - - $CONTRIBUTORS - change-title-escapes: '\<*_&"''' autolabeler: - label: 'documentation' diff --git a/config/themes.json b/config/themes.json index ce1e9888..27f3a45e 100644 --- a/config/themes.json +++ b/config/themes.json @@ -1,169 +1,169 @@ { - "_default": { - "CustomDialogFontSize": "12", - "CustomDialogFontSizeHeader": "14", - "CustomDialogIconSize": "25", - "CustomDialogWidth": "400", - "CustomDialogHeight": "200", + "_default": { + "CustomDialogFontSize": "12", + "CustomDialogFontSizeHeader": "14", + "CustomDialogIconSize": "25", + "CustomDialogWidth": "400", + "CustomDialogHeight": "200", - "FontSize": "12", - "FontFamily": "Arial", - "FontSizeHeading": "16", - "HeaderFontFamily": "Consolas, Monaco", + "FontSize": "12", + "FontFamily": "Arial", + "FontSizeHeading": "16", + "HeaderFontFamily": "Consolas, Monaco", - "CheckBoxBulletDecoratorSize": "14", - "CheckBoxMargin": "15,0,0,2", + "CheckBoxBulletDecoratorSize": "14", + "CheckBoxMargin": "15,0,0,2", - "TabContentMargin": "5", - "TabButtonFontSize": "14", - "TabButtonWidth": "100", - "TabButtonHeight": "25", - "TabRowHeightInPixels": "50", - "IconFontSize": "14", - "IconButtonSize": "35", - "SettingsIconFontSize": "18", - "CloseIconFontSize": "18", + "TabContentMargin": "5", + "TabButtonFontSize": "14", + "TabButtonWidth": "100", + "TabButtonHeight": "25", + "TabRowHeightInPixels": "50", + "IconFontSize": "14", + "IconButtonSize": "35", + "SettingsIconFontSize": "18", + "CloseIconFontSize": "18", - "MicroWinLogoSize": "10", - "MicrowinCheckBoxMargin": "-10,5,0,0", + "MicroWinLogoSize": "10", + "MicrowinCheckBoxMargin": "-10,5,0,0", - "ProgressBarForegroundColor": "#2e77ff", - "ProgressBarBackgroundColor": "Transparent", - "ProgressBarTextColor": "#232629", + "ProgressBarForegroundColor": "#2e77ff", + "ProgressBarBackgroundColor": "Transparent", + "ProgressBarTextColor": "#232629", - "ComboBoxBackgroundColor": "#F7F7F7", - "LabelboxForegroundColor": "#232629", - "MainForegroundColor": "#232629", - "MainBackgroundColor": "#F7F7F7", - "LabelBackgroundColor": "#F7F7F7", - "LinkForegroundColor": "#232629", - "LinkHoverForegroundColor": "#232629", - "GroupBorderBackgroundColor": "#232629", - "ComboBoxForegroundColor": "#232629", + "ComboBoxBackgroundColor": "#F7F7F7", + "LabelboxForegroundColor": "#232629", + "MainForegroundColor": "#232629", + "MainBackgroundColor": "#F7F7F7", + "LabelBackgroundColor": "#F7F7F7", + "LinkForegroundColor": "#232629", + "LinkHoverForegroundColor": "#232629", + "GroupBorderBackgroundColor": "#232629", + "ComboBoxForegroundColor": "#232629", - "ButtonFontSize": "12", - "ButtonFontFamily": "Arial", - "ButtonWidth": "200", - "ButtonHeight": "25", - "ConfigTabButtonFontSize": "16", + "ButtonFontSize": "12", + "ButtonFontFamily": "Arial", + "ButtonWidth": "200", + "ButtonHeight": "25", + "ConfigTabButtonFontSize": "16", - "SearchBarWidth": "200", - "SearchBarHeight": "25", - "SearchBarTextBoxFontSize": "12", - "SearchBarClearButtonFontSize": "14", + "SearchBarWidth": "200", + "SearchBarHeight": "25", + "SearchBarTextBoxFontSize": "12", + "SearchBarClearButtonFontSize": "14", - "ButtonInstallBackgroundColor": "#F7F7F7", - "ButtonTweaksBackgroundColor": "#F7F7F7", - "ButtonConfigBackgroundColor": "#F7F7F7", - "ButtonUpdatesBackgroundColor": "#F7F7F7", - "ButtonInstallForegroundColor": "#232629", - "ButtonTweaksForegroundColor": "#232629", - "ButtonConfigForegroundColor": "#232629", - "ButtonUpdatesForegroundColor": "#232629", - "ButtonBackgroundColor": "#F5F5F5", - "ButtonBackgroundPressedColor": "#1A1A1A", - "CheckboxMouseOverColor": "#999999", - "ButtonBackgroundMouseoverColor": "#C2C2C2", - "ButtonBackgroundSelectedColor": "#F0F0F0", - "ButtonForegroundColor": "#232629", - "ToggleButtonOnColor": "#2e77ff", + "ButtonInstallBackgroundColor": "#F7F7F7", + "ButtonTweaksBackgroundColor": "#F7F7F7", + "ButtonConfigBackgroundColor": "#F7F7F7", + "ButtonUpdatesBackgroundColor": "#F7F7F7", + "ButtonInstallForegroundColor": "#232629", + "ButtonTweaksForegroundColor": "#232629", + "ButtonConfigForegroundColor": "#232629", + "ButtonUpdatesForegroundColor": "#232629", + "ButtonBackgroundColor": "#F5F5F5", + "ButtonBackgroundPressedColor": "#1A1A1A", + "CheckboxMouseOverColor": "#999999", + "ButtonBackgroundMouseoverColor": "#C2C2C2", + "ButtonBackgroundSelectedColor": "#F0F0F0", + "ButtonForegroundColor": "#232629", + "ToggleButtonOnColor": "#2e77ff", - "ButtonBorderThickness": "1", - "ButtonMargin": "1", - "ButtonCornerRadius": "2", - "BorderColor": "#232629", - "BorderOpacity": "0.2", - "ShadowPulse": "Forever" - }, - "Classic": { - "ComboBoxBackgroundColor": "#F7F7F7", - "LabelboxForegroundColor": "#232629", - "MainForegroundColor": "#232629", - "MainBackgroundColor": "#F7F7F7", - "LabelBackgroundColor": "#F7F7F7", - "LinkForegroundColor": "#232629", - "LinkHoverForegroundColor": "#232629", - "GroupBorderBackgroundColor": "#232629", - "ComboBoxForegroundColor": "#232629", + "ButtonBorderThickness": "1", + "ButtonMargin": "1", + "ButtonCornerRadius": "2", + "BorderColor": "#232629", + "BorderOpacity": "0.2", + "ShadowPulse": "Forever" + }, + "Classic": { + "ComboBoxBackgroundColor": "#F7F7F7", + "LabelboxForegroundColor": "#232629", + "MainForegroundColor": "#232629", + "MainBackgroundColor": "#F7F7F7", + "LabelBackgroundColor": "#F7F7F7", + "LinkForegroundColor": "#232629", + "LinkHoverForegroundColor": "#232629", + "GroupBorderBackgroundColor": "#232629", + "ComboBoxForegroundColor": "#232629", - "ButtonInstallBackgroundColor": "#F7F7F7", - "ButtonTweaksBackgroundColor": "#F7F7F7", - "ButtonConfigBackgroundColor": "#F7F7F7", - "ButtonUpdatesBackgroundColor": "#F7F7F7", - "ButtonInstallForegroundColor": "#232629", - "ButtonTweaksForegroundColor": "#232629", - "ButtonConfigForegroundColor": "#232629", - "ButtonUpdatesForegroundColor": "#232629", - "ButtonBackgroundColor": "#F5F5F5", - "ButtonBackgroundPressedColor": "#1A1A1A", - "CheckboxMouseOverColor": "#999999", - "ButtonBackgroundMouseoverColor": "#C2C2C2", - "ButtonBackgroundSelectedColor": "#F0F0F0", - "ButtonForegroundColor": "#232629", - "ToggleButtonOnColor": "#2e77ff" - }, - "Matrix": { - "ComboBoxBackgroundColor": "#232629", - "LabelboxForegroundColor": "#81a1c1", - "MainForegroundColor": "#F7F7F7", - "MainBackgroundColor": "#232629", - "LabelBackgroundColor": "#232629", - "LinkForegroundColor": "#add8e6", - "LinkHoverForegroundColor": "#F7F7F7", - "ComboBoxForegroundColor": "#81a1c1", + "ButtonInstallBackgroundColor": "#F7F7F7", + "ButtonTweaksBackgroundColor": "#F7F7F7", + "ButtonConfigBackgroundColor": "#F7F7F7", + "ButtonUpdatesBackgroundColor": "#F7F7F7", + "ButtonInstallForegroundColor": "#232629", + "ButtonTweaksForegroundColor": "#232629", + "ButtonConfigForegroundColor": "#232629", + "ButtonUpdatesForegroundColor": "#232629", + "ButtonBackgroundColor": "#F5F5F5", + "ButtonBackgroundPressedColor": "#1A1A1A", + "CheckboxMouseOverColor": "#999999", + "ButtonBackgroundMouseoverColor": "#C2C2C2", + "ButtonBackgroundSelectedColor": "#F0F0F0", + "ButtonForegroundColor": "#232629", + "ToggleButtonOnColor": "#2e77ff" + }, + "Matrix": { + "ComboBoxBackgroundColor": "#232629", + "LabelboxForegroundColor": "#f7f7f7", + "MainForegroundColor": "#F7F7F7", + "MainBackgroundColor": "#232629", + "LabelBackgroundColor": "#232629", + "LinkForegroundColor": "#add8e6", + "LinkHoverForegroundColor": "#F7F7F7", + "ComboBoxForegroundColor": "#81a1c1", - "ProgressBarForegroundColor": "#222222", - "ProgressBarBackgroundColor": "Transparent", - "ProgressBarTextColor": "#cccccc", + "ProgressBarForegroundColor": "#222222", + "ProgressBarBackgroundColor": "Transparent", + "ProgressBarTextColor": "#cccccc", - "ButtonInstallBackgroundColor": "#222222", - "ButtonTweaksBackgroundColor": "#333333", - "ButtonConfigBackgroundColor": "#444444", - "ButtonUpdatesBackgroundColor": "#555555", - "ButtonInstallForegroundColor": "#F7F7F7", - "ButtonTweaksForegroundColor": "#F7F7F7", - "ButtonConfigForegroundColor": "#F7F7F7", - "ButtonUpdatesForegroundColor": "#F7F7F7", - "ButtonBackgroundColor": "#1E3747", - "ButtonBackgroundPressedColor": "#F7F7F7", - "ButtonBackgroundMouseoverColor": "#3B4252", - "ButtonBackgroundSelectedColor": "#5E81AC", - "ButtonForegroundColor": "#F7F7F7", - "ToggleButtonOnColor": "#2e77ff", + "ButtonInstallBackgroundColor": "#222222", + "ButtonTweaksBackgroundColor": "#333333", + "ButtonConfigBackgroundColor": "#444444", + "ButtonUpdatesBackgroundColor": "#555555", + "ButtonInstallForegroundColor": "#F7F7F7", + "ButtonTweaksForegroundColor": "#F7F7F7", + "ButtonConfigForegroundColor": "#F7F7F7", + "ButtonUpdatesForegroundColor": "#F7F7F7", + "ButtonBackgroundColor": "#1E3747", + "ButtonBackgroundPressedColor": "#F7F7F7", + "ButtonBackgroundMouseoverColor": "#3B4252", + "ButtonBackgroundSelectedColor": "#5E81AC", + "ButtonForegroundColor": "#F7F7F7", + "ToggleButtonOnColor": "#2e77ff", - "BorderColor": "#0060CC", - "BorderOpacity": "0.2", - "ShadowPulse": "0:0:3" - }, - "Dark": { - "ComboBoxBackgroundColor": "#232629", - "LabelboxForegroundColor": "#81a1c1", - "MainForegroundColor": "#F7F7F7", - "MainBackgroundColor": "#232629", - "LabelBackgroundColor": "#232629", - "LinkForegroundColor": "#add8e6", - "LinkHoverForegroundColor": "#F7F7F7", - "ComboBoxForegroundColor": "#81a1c1", + "BorderColor": "#0060CC", + "BorderOpacity": "0.2", + "ShadowPulse": "0:0:3" + }, + "Dark": { + "ComboBoxBackgroundColor": "#1e3747", + "LabelboxForegroundColor": "#0567ff", + "MainForegroundColor": "#F7F7F7", + "MainBackgroundColor": "#121212", + "LabelBackgroundColor": "#121212", + "LinkForegroundColor": "#add8e6", + "LinkHoverForegroundColor": "#F7F7F7", + "ComboBoxForegroundColor": "#f7f7f7", - "ProgressBarForegroundColor": "#222222", - "ProgressBarBackgroundColor": "Transparent", - "ProgressBarTextColor": "#cccccc", + "ProgressBarForegroundColor": "#222222", + "ProgressBarBackgroundColor": "Transparent", + "ProgressBarTextColor": "#cccccc", - "ButtonInstallBackgroundColor": "#222222", - "ButtonTweaksBackgroundColor": "#333333", - "ButtonConfigBackgroundColor": "#444444", - "ButtonUpdatesBackgroundColor": "#555555", - "ButtonInstallForegroundColor": "#F7F7F7", - "ButtonTweaksForegroundColor": "#F7F7F7", - "ButtonConfigForegroundColor": "#F7F7F7", - "ButtonUpdatesForegroundColor": "#F7F7F7", - "ButtonBackgroundColor": "#1E3747", - "ButtonBackgroundPressedColor": "#00CFFF", - "ButtonBackgroundMouseoverColor": "#5E81AC", - "ButtonBackgroundSelectedColor": "#5E81AC", - "ButtonForegroundColor": "#F7F7F7", - "ToggleButtonOnColor": "#2e77ff", + "ButtonInstallBackgroundColor": "#222222", + "ButtonTweaksBackgroundColor": "#333333", + "ButtonConfigBackgroundColor": "#444444", + "ButtonUpdatesBackgroundColor": "#555555", + "ButtonInstallForegroundColor": "#F7F7F7", + "ButtonTweaksForegroundColor": "#F7F7F7", + "ButtonConfigForegroundColor": "#F7F7F7", + "ButtonUpdatesForegroundColor": "#F7F7F7", + "ButtonBackgroundColor": "#1E3747", + "ButtonBackgroundPressedColor": "#00CFFF", + "ButtonBackgroundMouseoverColor": "#5E81AC", + "ButtonBackgroundSelectedColor": "#5E81AC", + "ButtonForegroundColor": "#F7F7F7", + "ToggleButtonOnColor": "#2e77ff", - "BorderColor": "#0b1215" - } + "BorderColor": "#2F373D" + } } diff --git a/functions/private/Install-WinUtilChoco.ps1 b/functions/private/Install-WinUtilChoco.ps1 index 254feba7..bb4460e2 100644 --- a/functions/private/Install-WinUtilChoco.ps1 +++ b/functions/private/Install-WinUtilChoco.ps1 @@ -13,10 +13,11 @@ function Install-WinUtilChoco { if((Test-WinUtilPackageManager -choco) -eq "installed") { return } - + # Install logic taken from https://chocolatey.org/install#individual Write-Host "Seems Chocolatey is not installed, installing now." - Start-Process -FilePath "powershell" -ArgumentList "Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) -ErrorAction Stop" -Wait -NoNewWindow - Start-Process -FilePath "powershell" -ArgumentList "choco feature enable -n allowGlobalConfirmation" -Wait -NoNewWindow + Set-ExecutionPolicy Bypass -Scope Process -Force; + [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; + Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) } catch { Write-Host "===========================================" -Foregroundcolor Red diff --git a/functions/public/Invoke-WPFInstall.ps1 b/functions/public/Invoke-WPFInstall.ps1 index f67c1353..ef03af36 100644 --- a/functions/public/Invoke-WPFInstall.ps1 +++ b/functions/public/Invoke-WPFInstall.ps1 @@ -20,7 +20,7 @@ function Invoke-WPFInstall { return } $ChocoPreference = $($sync.WPFpreferChocolatey.IsChecked) - Invoke-WPFRunspace -ArgumentList $PackagesToInstall,$ChocoPreference -DebugPreference $DebugPreference -ScriptBlock { + $installHandle = Invoke-WPFRunspace -ParameterList @(("PackagesToInstall", $PackagesToInstall),("ChocoPreference", $ChocoPreference)) -DebugPreference $DebugPreference -ScriptBlock { param($PackagesToInstall, $ChocoPreference, $DebugPreference) if ($PackagesToInstall.count -eq 1) { $sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -state "Indeterminate" -value 0.01 -overlay "logo" }) diff --git a/functions/public/Invoke-WPFRunspace.ps1 b/functions/public/Invoke-WPFRunspace.ps1 index 440a13b7..67c01b8f 100644 --- a/functions/public/Invoke-WPFRunspace.ps1 +++ b/functions/public/Invoke-WPFRunspace.ps1 @@ -11,17 +11,23 @@ function Invoke-WPFRunspace { .PARAMETER ArgumentList A list of arguments to pass to the runspace + .PARAMETER ParameterList + A list of named parameters that should be provided. .EXAMPLE Invoke-WPFRunspace ` -ScriptBlock $sync.ScriptsInstallPrograms ` -ArgumentList "Installadvancedip,Installbitwarden" ` + Invoke-WPFRunspace` + -ScriptBlock $sync.ScriptsInstallPrograms ` + -ParameterList @(("PackagesToInstall", @("Installadvancedip,Installbitwarden")),("ChocoPreference", $true)) #> [CmdletBinding()] Param ( $ScriptBlock, $ArgumentList, + $ParameterList, $DebugPreference ) @@ -30,8 +36,10 @@ function Invoke-WPFRunspace { # Add Scriptblock and Arguments to runspace $script:powershell.AddScript($ScriptBlock) - foreach ($Argument in $ArgumentList) { - $script:powershell.AddArgument($Argument) + $script:powershell.AddArgument($ArgumentList) + + foreach ($parameter in $ParameterList) { + $script:powershell.AddParameter($parameter[0], $parameter[1]) } $script:powershell.AddArgument($DebugPreference) # Pass DebugPreference to the script block $script:powershell.RunspacePool = $sync.runspace @@ -47,4 +55,6 @@ function Invoke-WPFRunspace { $sync.runspace.Close() [System.GC]::Collect() } + # Return the handle + return $handle } diff --git a/functions/public/Invoke-WPFUnInstall.ps1 b/functions/public/Invoke-WPFUnInstall.ps1 index a1a670a3..7180ecf2 100644 --- a/functions/public/Invoke-WPFUnInstall.ps1 +++ b/functions/public/Invoke-WPFUnInstall.ps1 @@ -30,7 +30,7 @@ function Invoke-WPFUnInstall { if($confirm -eq "No") {return} $ChocoPreference = $($sync.WPFpreferChocolatey.IsChecked) - Invoke-WPFRunspace -ArgumentList $PackagesToInstall, $ChocoPreference -DebugPreference $DebugPreference -ScriptBlock { + Invoke-WPFRunspace -ArgumentList @(("PackagesToInstall", $PackagesToInstall),("ChocoPreference", $ChocoPreference)) -DebugPreference $DebugPreference -ScriptBlock { param($PackagesToInstall, $ChocoPreference, $DebugPreference) if ($PackagesToInstall.count -eq 1) { $sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -state "Indeterminate" -value 0.01 -overlay "logo" }) diff --git a/functions/public/Invoke-WPFtweaksbutton.ps1 b/functions/public/Invoke-WPFtweaksbutton.ps1 index a4f38193..d0a53190 100644 --- a/functions/public/Invoke-WPFtweaksbutton.ps1 +++ b/functions/public/Invoke-WPFtweaksbutton.ps1 @@ -24,8 +24,12 @@ function Invoke-WPFtweaksbutton { Write-Debug "Number of tweaks to process: $($Tweaks.Count)" - Invoke-WPFRunspace -ArgumentList $Tweaks -DebugPreference $DebugPreference -ScriptBlock { - param($Tweaks, $DebugPreference) + # The leading "," in the ParameterList is nessecary because we only provide one argument and powershell cannot be convinced that we want a nested loop with only one argument otherwise + $tweaksHandle = Invoke-WPFRunspace -ParameterList @(,("tweaks",$tweaks)) -DebugPreference $DebugPreference -ScriptBlock { + param( + $tweaks, + $DebugPreference + ) Write-Debug "Inside Number of tweaks to process: $($Tweaks.Count)" $sync.ProcessRunning = $true @@ -38,8 +42,9 @@ function Invoke-WPFtweaksbutton { # Execute other selected tweaks for ($i = 0; $i -lt $Tweaks.Count; $i++) { - Set-WinUtilProgressBar -Label "Applying $($tweaks[$i])" -Percent ($i / $Tweaks.Count * 100) - Invoke-WinUtilTweaks $tweaks[$i]$sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -value ($i/$Tweaks.Count) }) + Set-WinUtilProgressBar -Label "Applying $($tweaks[$i])" -Percent ($i / $tweaks.Count * 100) + Invoke-WinUtilTweaks $tweaks[$i] + $sync.form.Dispatcher.Invoke([action]{ Set-WinUtilTaskbaritem -value ($i/$Tweaks.Count) }) } Set-WinUtilProgressBar -Label "Tweaks finished" -Percent 100 $sync.ProcessRunning = $false diff --git a/xaml/inputXML.xaml b/xaml/inputXML.xaml index fec2e11f..cf4b2010 100644 --- a/xaml/inputXML.xaml +++ b/xaml/inputXML.xaml @@ -911,19 +911,19 @@