diff --git a/config/tweaks.json b/config/tweaks.json index 27c7f3b5..9f389276 100644 --- a/config/tweaks.json +++ b/config/tweaks.json @@ -3758,5 +3758,60 @@ "Type": "Button", "ButtonWidth": "300", "link": "https://christitustech.github.io/winutil/dev/tweaks/Performance-Plans/RemoveUltPerf" - } + }, + "WPFTweaksDisableExplorerAutoDiscovery": { + "Content": "Disable Explorer automatic folder discovery", + "Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience.", + "category": "Essential Tweaks", + "panel": "1", + "Order": "a017_", + "InvokeScript": [ + " + # Previously detected folders + $bags = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\" + + # Folder types lookup table + $bagMRU = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\BagMRU\" + + # Flush explorer view database + Remove-Item -Path $bags -Recurse -Force + Write-Host \"Removed $bags\" + + Remove-Item -Path $bagMRU -Recurse -Force + Write-Host \"Removed $bagMRU\" + + # Every folder + $allFolders = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\" + + if (!(Test-Path $allFolders)) { + New-Item -Path $allFolders -Force + Write-Host \"Created $allFolders\" + } + + # Generic view + New-ItemProperty -Path $allFolders -Name \"FolderType\" -Value \"NotSpecified\" -PropertyType String -Force + Write-Host \"Set FolderType to NotSpecified\" + + Write-Host Please sign out and back in, or restart your computer to apply the changes! + " + ], + "UndoScript": [ + " + # Previously detected folders + $bags = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\" + + # Folder types lookup table + $bagMRU = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\BagMRU\" + + # Flush explorer view database + Remove-Item -Path $bags -Recurse -Force + Write-Host \"Removed $bags\" + + Remove-Item -Path $bagMRU -Recurse -Force + Write-Host \"Removed $bagMRU\" + + Write-Host Please sign out and back in, or restart your computer to apply the changes! + " + ], + }, }