diff --git a/.github/workflows/auto-merge-docs.yaml b/.github/workflows/auto-merge-docs.yaml index fb42edf5..9410d1b6 100644 --- a/.github/workflows/auto-merge-docs.yaml +++ b/.github/workflows/auto-merge-docs.yaml @@ -16,13 +16,13 @@ jobs: steps: - name: Checkout uses: actions/checkout@v6 - + - name: Auto-approve PR run: gh pr review "$PR_NUMBER" --approve env: PR_NUMBER: ${{ github.event.pull_request.number }} GH_TOKEN: ${{ secrets.AUTO_MERGE }} - + - name: Enable auto-merge run: gh pr merge "$PR_NUMBER" --squash --auto --delete-branch env: diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 7a9096a9..8470bfeb 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -52,7 +52,7 @@ jobs: run: | Set-Location tools ./devdocs-generator.ps1 - + - name: Create Pull Request 🚀 id: cpr uses: peter-evans/create-pull-request@v6 @@ -66,12 +66,12 @@ jobs: labels: | automated documentation - + - name: Check outputs run: | echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" - + - name: Install Node.js dependencies run: "cd docs && [[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" - name: Cache Restore diff --git a/.github/workflows/sponsors.yaml b/.github/workflows/sponsors.yaml index 04eae01f..aa4c0d11 100644 --- a/.github/workflows/sponsors.yaml +++ b/.github/workflows/sponsors.yaml @@ -33,7 +33,7 @@ jobs: branch: sponsors-update delete-branch: true labels: automated - + - name: Check outputs run: | echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" diff --git a/config/appnavigation.json b/config/appnavigation.json index 5fce84be..2d9d7c12 100644 --- a/config/appnavigation.json +++ b/config/appnavigation.json @@ -81,4 +81,4 @@ "Order": "6", "Description": "Toggle the green highlight for FOSS applications" } -} \ No newline at end of file +} diff --git a/config/feature.json b/config/feature.json index 00b07be3..9c96a387 100644 --- a/config/feature.json +++ b/config/feature.json @@ -4,7 +4,6 @@ "Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.", "category": "Features", "panel": "1", - "Order": "a010_", "feature": [ "NetFx4-AdvSrvs", "NetFx3" @@ -17,7 +16,6 @@ "Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.", "category": "Features", "panel": "1", - "Order": "a011_", "feature": [ "Microsoft-Hyper-V-All" ], @@ -31,7 +29,6 @@ "Description": "Enables legacy programs from previous versions of windows", "category": "Features", "panel": "1", - "Order": "a012_", "feature": [ "WindowsMediaPlayer", "MediaPlayback", @@ -46,7 +43,6 @@ "Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.", "category": "Features", "panel": "1", - "Order": "a020_", "feature": [ "VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux" @@ -59,7 +55,6 @@ "Description": "Network File System (NFS) is a mechanism for storing files on a network.", "category": "Features", "panel": "1", - "Order": "a014_", "feature": [ "ServicesForNFS-ClientOnly", "ClientForNFS-Infrastructure", @@ -79,7 +74,6 @@ "Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.", "category": "Features", "panel": "1", - "Order": "a017_", "feature": [], "InvokeScript": [ " @@ -97,7 +91,6 @@ "Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", "category": "Features", "panel": "1", - "Order": "a018_", "feature": [], "InvokeScript": [ "bcdedit /set bootmenupolicy legacy" @@ -109,7 +102,6 @@ "Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", "category": "Features", "panel": "1", - "Order": "a019_", "feature": [], "InvokeScript": [ "bcdedit /set bootmenupolicy standard" @@ -121,7 +113,6 @@ "Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.", "category": "Features", "panel": "1", - "Order": "a021_", "feature": [ "Containers-DisposableClientVM" ], @@ -131,54 +122,54 @@ "Content": "Install Features", "category": "Features", "panel": "1", - "Order": "a060_", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WPFFeatureInstall", "link": "https://winutil.christitus.com/dev/features/features/install" }, "WPFPanelAutologin": { "Content": "Set Up Autologin", "category": "Fixes", - "Order": "a040_", "panel": "1", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WPFPanelAutologin", "link": "https://winutil.christitus.com/dev/features/fixes/autologin" }, "WPFFixesUpdate": { "Content": "Reset Windows Update", "category": "Fixes", "panel": "1", - "Order": "a041_", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WPFFixesUpdate", "link": "https://winutil.christitus.com/dev/features/fixes/update" }, "WPFFixesNetwork": { "Content": "Reset Network", "category": "Fixes", - "Order": "a042_", "panel": "1", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WPFFixesNetwork", "link": "https://winutil.christitus.com/dev/features/fixes/network" }, "WPFPanelDISM": { "Content": "System Corruption Scan", "category": "Fixes", "panel": "1", - "Order": "a043_", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WPFSystemRepair", "link": "https://winutil.christitus.com/dev/features/fixes/dism" }, "WPFFixesWinget": { "Content": "WinGet Reinstall", "category": "Fixes", "panel": "1", - "Order": "a044_", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WPFFixesWinget", "link": "https://winutil.christitus.com/dev/features/fixes/winget" }, "WPFPanelControl": { @@ -187,6 +178,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "control" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/control" }, "WPFPanelComputer": { @@ -195,6 +189,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "compmgmt.msc" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/computer" }, "WPFPanelNetwork": { @@ -203,6 +200,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "ncpa.cpl" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/network" }, "WPFPanelPower": { @@ -211,6 +211,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "powercfg.cpl" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/power" }, "WPFPanelPrinter": { @@ -219,6 +222,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "Start-Process 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/printer" }, "WPFPanelRegion": { @@ -227,6 +233,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "intl.cpl" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/region" }, "WPFPanelRestore": { @@ -235,6 +244,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "rstrui.exe" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/restore" }, "WPFPanelSound": { @@ -243,6 +255,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "mmsys.cpl" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/sound" }, "WPFPanelSystem": { @@ -251,6 +266,9 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "sysdm.cpl" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/system" }, "WPFPanelTimedate": { @@ -259,33 +277,36 @@ "panel": "2", "Type": "Button", "ButtonWidth": "300", + "InvokeScript": [ + "timedate.cpl" + ], "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/timedate" }, "WPFWinUtilInstallPSProfile": { "Content": "Install CTT PowerShell Profile", "category": "Powershell Profile Powershell 7+ Only", "panel": "2", - "Order": "a083_", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WinUtilInstallPSProfile", "link": "https://winutil.christitus.com/dev/features/powershell-profile-powershell-7--only/installpsprofile" }, "WPFWinUtilUninstallPSProfile": { "Content": "Uninstall CTT PowerShell Profile", "category": "Powershell Profile Powershell 7+ Only", "panel": "2", - "Order": "a084_", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WinUtilUninstallPSProfile", "link": "https://winutil.christitus.com/dev/features/powershell-profile-powershell-7--only/uninstallpsprofile" }, "WPFWinUtilSSHServer": { "Content": "Enable OpenSSH Server", "category": "Remote Access", "panel": "2", - "Order": "a084_", "Type": "Button", "ButtonWidth": "300", + "function": "Invoke-WPFSSHServer", "link": "https://winutil.christitus.com/dev/features/remote-access/sshserver" } } diff --git a/config/tweaks.json b/config/tweaks.json index a88603b4..16694b81 100644 --- a/config/tweaks.json +++ b/config/tweaks.json @@ -66,7 +66,7 @@ "InvokeScript": [ " # Sometimes if you dont stop the Widgets process the removal may fail - + Stop-Process -Name Widgets Get-AppxPackage Microsoft.WidgetsPlatformRuntime -AllUsers | Remove-AppxPackage -AllUsers Get-AppxPackage MicrosoftWindows.Client.WebExperience -AllUsers | Remove-AppxPackage -AllUsers @@ -78,10 +78,10 @@ "UndoScript": [ " Write-Host \"Restoring widgets AppxPackages\" - + Add-AppxPackage -Register \"C:\\Program Files\\WindowsApps\\Microsoft.WidgetsPlatformRuntime*\\AppxManifest.xml\" -DisableDevelopmentMode Add-AppxPackage -Register \"C:\\Program Files\\WindowsApps\\MicrosoftWindows.Client.WebExperience*\\AppxManifest.xml\" -DisableDevelopmentMode - + Invoke-WinUtilExplorerUpdate -action \"restart\" " ], @@ -95,12 +95,12 @@ "InvokeScript": [ " Invoke-WebRequest https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip -OutFile ViVeTool.zip - + Expand-Archive ViVeTool.zip Remove-Item ViVeTool.zip - + Start-Process 'ViVeTool\\ViVeTool.exe' -ArgumentList '/disable /id:47205210' -Wait -NoNewWindow - + Remove-Item ViVeTool -Recurse Write-Host 'Old start menu reverted please restart your computer to take effect' @@ -109,12 +109,12 @@ "UndoScript": [ " Invoke-WebRequest https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip -OutFile ViVeTool.zip - + Expand-Archive ViVeTool.zip Remove-Item ViVeTool.zip - + Start-Process 'ViVeTool\\ViVeTool.exe' -ArgumentList '/enable /id:47205210' -Wait -NoNewWindow - + Remove-Item ViVeTool -Recurse Write-Host 'New start menu reverted please restart your computer to take effect' @@ -1875,7 +1875,7 @@ Get-AppxPackage -AllUsers Microsoft.MicrosoftOfficeHub | Remove-AppxPackage -AllUsers $Appx = (Get-AppxPackage MicrosoftWindows.Client.CoreAI).PackageFullName - + $Sid = (Get-LocalUser $Env:UserName).Sid.Value New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Appx\\AppxAllUserStore\\EndOfLife\\$Sid\\$Appx\" -Force Remove-AppxPackage $Appx diff --git a/docs/content/dev/tweaks/Essential-Tweaks/Widget.md b/docs/content/dev/tweaks/Essential-Tweaks/Widget.md index 3baca80d..fdb648b6 100644 --- a/docs/content/dev/tweaks/Essential-Tweaks/Widget.md +++ b/docs/content/dev/tweaks/Essential-Tweaks/Widget.md @@ -12,7 +12,7 @@ description: "" "InvokeScript": [ " # Sometimes if you dont stop the Widgets process the removal may fail - + Stop-Process -Name Widgets Get-AppxPackage Microsoft.WidgetsPlatformRuntime -AllUsers | Remove-AppxPackage -AllUsers Get-AppxPackage MicrosoftWindows.Client.WebExperience -AllUsers | Remove-AppxPackage -AllUsers @@ -24,10 +24,10 @@ description: "" "UndoScript": [ " Write-Host \"Restoring widgets AppxPackages\" - + Add-AppxPackage -Register \"C:\\Program Files\\WindowsApps\\Microsoft.WidgetsPlatformRuntime*\\AppxManifest.xml\" -DisableDevelopmentMode Add-AppxPackage -Register \"C:\\Program Files\\WindowsApps\\MicrosoftWindows.Client.WebExperience*\\AppxManifest.xml\" -DisableDevelopmentMode - + Invoke-WinUtilExplorerUpdate -action \"restart\" " ], diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveCopilot.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveCopilot.md index 60f82477..3b6a82e6 100644 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveCopilot.md +++ b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveCopilot.md @@ -74,7 +74,7 @@ description: "" Get-AppxPackage -AllUsers Microsoft.MicrosoftOfficeHub | Remove-AppxPackage -AllUsers $Appx = (Get-AppxPackage MicrosoftWindows.Client.CoreAI).PackageFullName - + $Sid = (Get-LocalUser $Env:UserName).Sid.Value New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Appx\\AppxAllUserStore\\EndOfLife\\$Sid\\$Appx\" -Force Remove-AppxPackage $Appx diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RevertStartMenu.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RevertStartMenu.md index 40bb30d9..3f254092 100644 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RevertStartMenu.md +++ b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RevertStartMenu.md @@ -12,12 +12,12 @@ description: "" "InvokeScript": [ " Invoke-WebRequest https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip -OutFile ViVeTool.zip - + Expand-Archive ViVeTool.zip Remove-Item ViVeTool.zip - + Start-Process 'ViVeTool\\ViVeTool.exe' -ArgumentList '/disable /id:47205210' -Wait -NoNewWindow - + Remove-Item ViVeTool -Recurse Write-Host 'Old start menu reverted please restart your computer to take effect' @@ -26,12 +26,12 @@ description: "" "UndoScript": [ " Invoke-WebRequest https://github.com/thebookisclosed/ViVe/releases/download/v0.3.4/ViVeTool-v0.3.4-IntelAmd.zip -OutFile ViVeTool.zip - + Expand-Archive ViVeTool.zip Remove-Item ViVeTool.zip - + Start-Process 'ViVeTool\\ViVeTool.exe' -ArgumentList '/enable /id:47205210' -Wait -NoNewWindow - + Remove-Item ViVeTool -Recurse Write-Host 'New start menu reverted please restart your computer to take effect' diff --git a/functions/private/Invoke-WinUtilGPU.ps1 b/functions/private/Invoke-WinUtilGPU.ps1 deleted file mode 100644 index 6ec42d7a..00000000 --- a/functions/private/Invoke-WinUtilGPU.ps1 +++ /dev/null @@ -1,23 +0,0 @@ -function Invoke-WinUtilGPU { - $gpuInfo = Get-CimInstance Win32_VideoController - - # GPUs to blacklist from using Demanding Theming - $lowPowerGPUs = ( - "*NVIDIA GeForce*M*", - "*NVIDIA GeForce*Laptop*", - "*NVIDIA GeForce*GT*", - "*AMD Radeon(TM)*", - "*Intel(R) HD Graphics*", - "*UHD*" - - ) - - foreach ($gpu in $gpuInfo) { - foreach ($gpuPattern in $lowPowerGPUs) { - if ($gpu.Name -like $gpuPattern) { - return $false - } - } - } - return $true -} diff --git a/functions/public/Invoke-WPFButton.ps1 b/functions/public/Invoke-WPFButton.ps1 index d3d293cb..180476b7 100644 --- a/functions/public/Invoke-WPFButton.ps1 +++ b/functions/public/Invoke-WPFButton.ps1 @@ -18,6 +18,31 @@ function Invoke-WPFButton { Set-WinUtilProgressBar -label "" -percent 0 } + # Check if button is defined in feature config with function or InvokeScript + if ($sync.configs.feature.$Button) { + $buttonConfig = $sync.configs.feature.$Button + + # If button has a function defined, call it + if ($buttonConfig.function) { + $functionName = $buttonConfig.function + if (Get-Command $functionName -ErrorAction SilentlyContinue) { + & $functionName + return + } + } + + # If button has InvokeScript defined, execute the scripts + if ($buttonConfig.InvokeScript -and $buttonConfig.InvokeScript.Count -gt 0) { + foreach ($script in $buttonConfig.InvokeScript) { + if (-not [string]::IsNullOrWhiteSpace($script)) { + Invoke-Expression $script + } + } + return + } + } + + # Fallback to hard-coded switch for buttons not in feature.json Switch -Wildcard ($Button) { "WPFTab?BT" {Invoke-WPFTab $Button} "WPFInstall" {Invoke-WPFInstall} @@ -34,34 +59,14 @@ function Invoke-WPFButton { "WPFAddUltPerf" {Invoke-WPFUltimatePerformance -State "Enable"} "WPFRemoveUltPerf" {Invoke-WPFUltimatePerformance -State "Disable"} "WPFundoall" {Invoke-WPFundoall} - "WPFFeatureInstall" {Invoke-WPFFeatureInstall} - "WPFPanelDISM" {Invoke-WPFSystemRepair} - "WPFPanelAutologin" {Invoke-WPFPanelAutologin} - "WPFPanelComputer" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelControl" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelNetwork" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelPower" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelPrinter" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelRegion" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelRestore" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelSound" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelSystem" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelTimedate" {Invoke-WPFControlPanel -Panel $button} - "WPFPanelUser" {Invoke-WPFControlPanel -Panel $button} "WPFUpdatesdefault" {Invoke-WPFUpdatesdefault} - "WPFFixesUpdate" {Invoke-WPFFixesUpdate} - "WPFFixesWinget" {Invoke-WPFFixesWinget} "WPFRunAdobeCCCleanerTool" {Invoke-WPFRunAdobeCCCleanerTool} - "WPFFixesNetwork" {Invoke-WPFFixesNetwork} "WPFUpdatesdisable" {Invoke-WPFUpdatesdisable} "WPFUpdatessecurity" {Invoke-WPFUpdatessecurity} "WPFWinUtilShortcut" {Invoke-WPFShortcut -ShortcutToAdd "WinUtil" -RunAsAdmin $true} "WPFGetInstalled" {Invoke-WPFGetInstalled -CheckBox "winget"} "WPFGetInstalledTweaks" {Invoke-WPFGetInstalled -CheckBox "tweaks"} - "WPFCloseButton" {Invoke-WPFCloseButton} - "WPFWinUtilInstallPSProfile" {Invoke-WinUtilInstallPSProfile} - "WPFWinUtilUninstallPSProfile" {Invoke-WinUtilUninstallPSProfile} - "WPFWinUtilSSHServer" {Invoke-WPFSSHServer} + "WPFCloseButton" {$sync.Form.Close(); Write-Host "Bye bye!"} "WPFselectedAppsButton" {$sync.selectedAppsPopup.IsOpen = -not $sync.selectedAppsPopup.IsOpen} "WPFToggleFOSSHighlight" { if ($sync.WPFToggleFOSSHighlight.IsChecked) { diff --git a/functions/public/Invoke-WPFCloseButton.ps1 b/functions/public/Invoke-WPFCloseButton.ps1 deleted file mode 100644 index 5ffff15a..00000000 --- a/functions/public/Invoke-WPFCloseButton.ps1 +++ /dev/null @@ -1,12 +0,0 @@ -function Invoke-WPFCloseButton { - - <# - - .SYNOPSIS - Close application - - .PARAMETER Button - #> - $sync["Form"].Close() - Write-Host "Bye bye!" -} diff --git a/functions/public/Invoke-WPFControlPanel.ps1 b/functions/public/Invoke-WPFControlPanel.ps1 deleted file mode 100644 index c5ef0092..00000000 --- a/functions/public/Invoke-WPFControlPanel.ps1 +++ /dev/null @@ -1,26 +0,0 @@ -function Invoke-WPFControlPanel { - <# - - .SYNOPSIS - Opens the requested legacy panel - - .PARAMETER Panel - The panel to open - - #> - param($Panel) - - switch ($Panel) { - "WPFPanelControl" {control} - "WPFPanelComputer" {compmgmt.msc} - "WPFPanelNetwork" {ncpa.cpl} - "WPFPanelPower" {powercfg.cpl} - "WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"} - "WPFPanelRegion" {intl.cpl} - "WPFPanelRestore" {rstrui.exe} - "WPFPanelSound" {mmsys.cpl} - "WPFPanelSystem" {sysdm.cpl} - "WPFPanelTimedate" {timedate.cpl} - "WPFPanelUser" {control userpasswords2} - } -} diff --git a/functions/public/Invoke-WPFUIElements.ps1 b/functions/public/Invoke-WPFUIElements.ps1 index 469ca46d..245bfc3b 100644 --- a/functions/public/Invoke-WPFUIElements.ps1 +++ b/functions/public/Invoke-WPFUIElements.ps1 @@ -180,7 +180,7 @@ function Invoke-WPFUIElements { if ($entryInfo.Checked -eq $true) { $sync[$entryInfo.Name].IsChecked = $true } - + $sync[$entryInfo.Name].Add_Checked({ Invoke-WPFButton -Button "WPFToggleFOSSHighlight" }) @@ -189,13 +189,13 @@ function Invoke-WPFUIElements { }) } else { $sync[$entryInfo.Name].IsChecked = (Get-WinUtilToggleStatus $entryInfo.Name) - + $sync[$entryInfo.Name].Add_Checked({ [System.Object]$Sender = $args[0] Invoke-WPFSelectedCheckboxesUpdate -type "Add" -checkboxName $Sender.name Invoke-WinUtilTweaks $Sender.name }) - + $sync[$entryInfo.Name].Add_Unchecked({ [System.Object]$Sender = $args[0] Invoke-WPFSelectedCheckboxesUpdate -type "Remove" -checkboxName $Sender.name