feat: add config-driven AppX package removal tab

- Add config/appx.json with curated list of removable AppX packages

- Add AppX Removal tab (WPFTab6) with Select All, Clear, and Remove buttons

- Reuse existing Invoke-WPFUIElements engine for minimal code footprint

- Add Invoke-WPFAppxRemoval.ps1 for background runspace package removal

- Add theme colors for the new tab button in light and dark modes
This commit is contained in:
GabiNun2
2026-06-21 17:57:41 +03:00
parent 58a81b106c
commit e8c1401cce
9 changed files with 300 additions and 0 deletions
+17
View File
@@ -65,6 +65,23 @@ function Invoke-WPFButton {
"WPFUpdatessecurity" {Invoke-WPFUpdatessecurity}
"WPFGetInstalled" {Invoke-WPFGetInstalled -CheckBox "winget"}
"WPFGetInstalledTweaks" {Invoke-WPFGetInstalled -CheckBox "tweaks"}
"WPFSelectAllAppx" {
$sync.configs.appxHashtable.Keys | ForEach-Object {
if ($sync.$_) {
$sync.$_.IsChecked = $true
}
}
}
"WPFClearAppxSelection" {
$sync.configs.appxHashtable.Keys | ForEach-Object {
if ($sync.$_) {
$sync.$_.IsChecked = $false
}
}
}
"WPFRemoveSelectedAppx" {
Invoke-WPFAppxRemoval
}
"WPFCloseButton" {$sync.Form.Close(); Write-Host "Bye bye!"}
"WPFMinimizeButton" {$sync.Form.WindowState = [Windows.WindowState]::Minimized}
"WPFselectedAppsButton" {$sync.selectedAppsPopup.IsOpen = -not $sync.selectedAppsPopup.IsOpen}