Compare commits

..
8 Commits
Author SHA1 Message Date
Chris TitusandGitHub e50621a9dc chore: Update generated dev docs (#4669) 2026-06-08 09:49:20 -05:00
3ef100a083 Fixed bug merged in #4577 that breaks Taskbar Search Icon tweak (#4649)
Co-authored-by: gepardjaro <266757713+drzewjaro@users.noreply.github.com>
2026-06-08 09:48:41 -05:00
Chris TitusandGitHub eebb56ac5a chore: Update generated dev docs (#4668) 2026-06-08 09:45:11 -05:00
GabiandGitHub daf045390d fix dev branch not working (#4651)
* fix dev branch not working

* Update start.ps1
2026-06-08 09:44:14 -05:00
GabiandGitHub 6214012fd1 Added -NoRestart to WPFTweaksWindowsAI (#4639) 2026-06-08 09:43:20 -05:00
CodingWondersandGitHub 297b3079e5 Fix slop remains (#4640)
* Fix slop remains

Chris likes to vibe code. AI likes to use different types of dashes (em-dashes, en-dashes), instead of regular dashes (-).

On PowerShell 7 this appears to work. The parser doesn't care. But, what about PowerShell 5? It begins throwing errors about the ampersand. Loading it in the ISE reveals how it stops parsing the syntax correctly when it encounters em-dashes. Rather than displaying them as such, the ISE displays them as —.

Chris, if you want to vibe code, I don't mind. But at least use regular dashes.

Anyway, I won't fix the AI code. I just want to make it work on my beloved powershell 5.

* Apparently this file is important
2026-06-08 09:43:04 -05:00
Chris TitusandGitHub 9fdf944ef9 chore: Update generated dev docs (#4667) 2026-06-08 09:43:02 -05:00
GabiandGitHub 6b5a9bcb9b Added -Recurse for Onedrive Remove-Item command (#4642) 2026-06-08 09:42:25 -05:00
9 changed files with 38 additions and 38 deletions
+4 -4
View File
@@ -673,7 +673,7 @@
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
if (-not (Get-ChildItem -Path $Env:OneDrive)) {
Remove-Item -Path $Env:OneDrive
Remove-Item -Path $Env:OneDrive -Recurse
[Environment]::SetEnvironmentVariable('OneDrive', $null, 'User')
}
@@ -970,7 +970,7 @@
Remove-AppxPackage $Appx
Set-Service -Name WSAIFabricSvc -StartupType Disabled
Disable-WindowsOptionalFeature -FeatureName Recall -Online
Disable-WindowsOptionalFeature -FeatureName Recall -Online -NoRestart
Write-Host \"Windows AI Disabled\"
"
@@ -1775,9 +1775,9 @@
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "SearchboxTaskbarMode",
"Value": "0",
"Value": "1",
"Type": "DWord",
"OriginalValue": "d",
"OriginalValue": "0",
"DefaultState": "true"
}
],
@@ -14,9 +14,9 @@ description: ""
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "SearchboxTaskbarMode",
"Value": "0",
"Value": "1",
"Type": "DWord",
"OriginalValue": "d",
"OriginalValue": "0",
"DefaultState": "true"
}
],
@@ -29,7 +29,7 @@ description: ""
icacls $Env:OneDrive /grant \"Administrators:(D,DC)\"
if (-not (Get-ChildItem -Path $Env:OneDrive)) {
Remove-Item -Path $Env:OneDrive
Remove-Item -Path $Env:OneDrive -Recurse
[Environment]::SetEnvironmentVariable('OneDrive', $null, 'User')
}
@@ -37,7 +37,7 @@ description: ""
Remove-AppxPackage $Appx
Set-Service -Name WSAIFabricSvc -StartupType Disabled
Disable-WindowsOptionalFeature -FeatureName Recall -Online
Disable-WindowsOptionalFeature -FeatureName Recall -Online -NoRestart
Write-Host \"Windows AI Disabled\"
"
@@ -23,9 +23,9 @@ function Find-TweaksByNameOrDescription {
[string]$SearchString = ""
)
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
# 1. RESOLVE $SYNC WITH MULTI-LEVEL FALLBACK
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
if ($null -eq $Sync) {
$Sync = $global:sync
@@ -45,9 +45,9 @@ function Find-TweaksByNameOrDescription {
return
}
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
# 2. GET REFERENCE TO TWEAKS PANEL
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
$tweaksPanel = $null
try {
@@ -63,9 +63,9 @@ function Find-TweaksByNameOrDescription {
return
}
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
# 3. HANDLE EMPTY/WHITESPACE SEARCH STRING - RESET TO DEFAULT STATE
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
if ([string]::IsNullOrWhiteSpace($SearchString)) {
try {
@@ -114,9 +114,9 @@ function Find-TweaksByNameOrDescription {
return
}
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
# 4. PERFORM LITERAL SEARCH (NO WILDCARD EXPANSION)
# ──────────────────────────────────────────────────────────────────────────────
# ------------------------------------------------------------------------------
try {
# Normalize search term once for the entire operation
@@ -151,9 +151,9 @@ function Find-TweaksByNameOrDescription {
continue
}
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
# Check if this is a category label (usually first Label)
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
if ($item -is [Windows.Controls.Label]) {
$categoryLabel = $item
@@ -161,9 +161,9 @@ function Find-TweaksByNameOrDescription {
$item.Visibility = [Windows.Visibility]::Collapsed
}
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
# Check if this is a DockPanel containing a tweak checkbox
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
elseif ($item -is [Windows.Controls.DockPanel]) {
$checkbox = $null
@@ -211,9 +211,9 @@ function Find-TweaksByNameOrDescription {
}
}
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
# Check if this is a StackPanel containing a tweak checkbox
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
elseif ($item -is [Windows.Controls.StackPanel]) {
$checkbox = $null
@@ -257,9 +257,9 @@ function Find-TweaksByNameOrDescription {
}
}
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
# Update category label visibility and expanded/collapsed state
# ────────────────────────────────────────────────────────────
# ------------------------------------------------------------
if ($categoryHasMatch) {
# Show category label
@@ -282,9 +282,9 @@ function Find-TweaksByNameOrDescription {
}
}
# ────────────────────────────────────────────────────────────────
# ----------------------------------------------------------------
# Set category border visibility based on whether it has matches
# ────────────────────────────────────────────────────────────────
# ----------------------------------------------------------------
if ($categoryHasMatch) {
$categoryBorder.Visibility = [Windows.Visibility]::Visible
+2 -2
View File
@@ -65,7 +65,7 @@ function Invoke-WinUtilISOMountAndVerify {
if (-not (Test-Path $wimPath) -and -not (Test-Path $esdPath)) {
Dismount-DiskImage -ImagePath $isoPath
Write-Win11ISOLog "ERROR: install.wim/install.esd not found not a valid Windows ISO."
Write-Win11ISOLog "ERROR: install.wim/install.esd not found - not a valid Windows ISO."
[System.Windows.MessageBox]::Show(
"This does not appear to be a valid Windows ISO.`n`ninstall.wim / install.esd was not found.",
"Invalid ISO", "OK", "Error")
@@ -547,7 +547,7 @@ function Invoke-WinUtilISOCleanAndReset {
Log "Temp directory deleted successfully."
}
} else {
Log "No temp directory found resetting UI."
Log "No temp directory found - resetting UI."
}
SetProgress "Resetting UI..." 95
@@ -108,7 +108,7 @@ function Invoke-WinUtilISOScript {
}
}
# ── 1. Remove provisioned AppX packages ──────────────────────────────────
# -- 1. Remove provisioned AppX packages ----------------------------------
& $Log "Removing provisioned AppX packages..."
$packages = & dism /English "/image:$ScratchDir" /Get-ProvisionedAppxPackages |
@@ -139,7 +139,7 @@ function Invoke-WinUtilISOScript {
$packages | Where-Object { $pkg = $_; $packagePrefixes | Where-Object { $pkg -like "*$_*" } } |
ForEach-Object { & dism /English "/image:$ScratchDir" /Remove-ProvisionedAppxPackage "/PackageName:$_" }
# ── 2. Inject current system drivers (optional) ───────────────────────────
# -- 2. Inject current system drivers (optional) ---------------------------
if ($InjectCurrentSystemDrivers) {
& $Log "Exporting all drivers from running system..."
$driverExportRoot = Join-Path $env:TEMP "WinUtil_DriverExport_$(Get-Random)"
@@ -157,7 +157,7 @@ function Invoke-WinUtilISOScript {
& $Log "Injecting current system drivers into boot.wim..."
Invoke-BootWimInject -BootWimPath $bootWim -DriverDir $driverExportRoot -Logger $Log
} else {
& $Log "Warning: boot.wim not found skipping boot.wim driver injection."
& $Log "Warning: boot.wim not found - skipping boot.wim driver injection."
}
}
} catch {
@@ -169,7 +169,7 @@ function Invoke-WinUtilISOScript {
& $Log "Driver injection skipped."
}
# ── 3. Registry tweaks ────────────────────────────────────────────────────
# -- 3. Registry tweaks ----------------------------------------------------
& $Log "Loading offline registry hives..."
reg load HKLM\zCOMPONENTS "$ScratchDir\Windows\System32\config\COMPONENTS"
reg load HKLM\zDEFAULT "$ScratchDir\Windows\System32\config\default"
@@ -243,7 +243,7 @@ function Invoke-WinUtilISOScript {
& $Log "Pre-staged setup script: $relPath"
}
} else {
& $Log "Warning: no <Extensions><File> nodes found in autounattend.xml setup scripts not pre-staged."
& $Log "Warning: no <Extensions><File> nodes found in autounattend.xml - setup scripts not pre-staged."
}
} catch {
& $Log "Warning: could not pre-stage setup scripts from autounattend.xml: $_"
@@ -255,7 +255,7 @@ function Invoke-WinUtilISOScript {
& $Log "Written autounattend.xml to ISO root ($isoDest)."
}
} else {
& $Log "Warning: autounattend.xml content is empty skipping OOBE bypass file."
& $Log "Warning: autounattend.xml content is empty - skipping OOBE bypass file."
}
& $Log "Disabling reserved storage..."
@@ -323,7 +323,7 @@ function Invoke-WinUtilISOScript {
reg unload HKLM\zSOFTWARE
reg unload HKLM\zSYSTEM
# ── 4. Delete scheduled task definition files ─────────────────────────────
# -- 4. Delete scheduled task definition files -----------------------------
& $Log "Deleting scheduled task definition files..."
$tasksPath = "$ScratchDir\Windows\System32\Tasks"
Remove-Item "$tasksPath\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" -Force
@@ -339,7 +339,7 @@ function Invoke-WinUtilISOScript {
Remove-Item "$tasksPath\Microsoft\WindowsUpdate" -Recurse -Force
& $Log "Scheduled task files deleted."
# ── 5. Remove ISO support folder ─────────────────────────────────────────
# -- 5. Remove ISO support folder -----------------------------------------
if ($ISOContentsDir -and (Test-Path $ISOContentsDir)) {
& $Log "Removing ISO support\ folder..."
Remove-Item -Path (Join-Path $ISOContentsDir "support") -Recurse -Force
+1 -1
View File
@@ -50,7 +50,7 @@ function Reset-WPFCheckBoxes {
if($doToggles) {
# Restore toggle switch states from imported config.
# Only act on toggles that are explicitly listed in the import toggles absent
# Only act on toggles that are explicitly listed in the import - toggles absent
# from the export file were not part of the saved config and should keep whatever
# state the live system already has (set during UI initialisation via Get-WinUtilToggleStatus).
$importedToggles = $sync.selectedToggles
+1 -1
View File
@@ -8,7 +8,7 @@
param (
[string]$Config,
[ValidateSet("Standard", "Minimal", "Advanced")]
[ValidateSet("Standard", "Minimal", "Advanced", "")]
[string]$Preset,
[switch]$Noui,
[switch]$Offline