* chore(tweaks): clarify Activity History tweak description
* fix(tweaks): preserve clipboard history
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Add tweak to block Logitech Download Assistant auto-install
Mirrors the WPFTweaksRazerBlock folder-deny approach: clear
C:\Program Files\LogiDownloadAssistant, recreate it empty, and deny
Everyone write access so the Windows Update software-component package
cannot re-deliver the payload. UndoScript removes the deny ACE.
Unlike the Razer tweak, no global SearchOrderConfig/DisableCoInstallers
registry changes: those alter driver search system-wide and do not stop
software-component packages.
Fixes#5029
* Harden Logi block tweak per review: SID, 64-bit path, exit codes
- Use the locale-independent *S-1-1-0 SID instead of the English
"Everyone" name, which fails to resolve on non-English Windows.
- Resolve the 64-bit Program Files directory via ProgramW6432 with a
ProgramFiles fallback, so a 32-bit host cannot target the x86 folder.
- Throw when icacls exits non-zero so Invoke-WinUtilScript logs the
failure instead of reporting the tweak as completed.
- Skip the undo icacls call when the folder no longer exists.
* docs: fix typo in contributing image asset and markdown references
* docs: fix typos and grammatical phrasing in documentation
* fix(config): correct typographical errors in tweak and app descriptions
* fix(scripts): resolve typos and grammatical errors in PowerShell sources
* fix: address review feedback on Outlook description, WinUtil capitalization, and grammar
* fix(apps): WARP prettify
Updated Cloudflare WARP entry with new key and modified description and link.
* Fine, Chris, let's leave property name as full
* Rename 'cloudflare-warp' to 'CloudflareWARP'
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Add EmulationStation and Tailscale entries to applications.json
* Update config/applications.json
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Update config/applications.json
I'm so sorry I'm late I've had to take a break from this for a bit of health related stuff.
Co-authored-by: Ivan Lepekha <57459428+FluffyPunk@users.noreply.github.com>
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Ivan Lepekha <57459428+FluffyPunk@users.noreply.github.com>
* feat(apps): Added Battle.net
Just Blizzard. Well, we can hate them, but their launcher is unique
* You know, being smart is a hard work...
* titusTypo
* fix: link apps to their own site instead of a repo or store page
- the icon comes from the link's domain, so every GitHub hosted app showed
the same octocat and the two store apps showed the Microsoft Store tile
- point 16 apps at the project's own site, and LibreWolf at librewolf.net
rather than its old gitlab.io address
- left on GitHub where the site turned out to redirect back to the repo
(fnm, MSEdgeRedirect, Deskflow) or has no icon to serve (gsudo,
simplewall, ungoogled-chromium, DISMTools)
* fix: point Teams at teams.live.com so it shows the Teams logo
- the marketing page on microsoft.com serves the generic Microsoft favicon,
which Edge already uses
* fix: keep GlazeWM and Lua on the pages that match what is installed
- glazewm.com is not the project's own site: the repo declares no homepage,
glzr.io never references it, and it runs on unrelated hosting
- lua.org is the language, while the package is Lua for Windows
* fix: keep Teams on the Microsoft product page
- the package is Microsoft.Teams, the work product, while teams.live.com is
the consumer edition
* Update dns.json
* Fix Mullvad DNS review issues
* Add Mullvad secondary resolvers
* Register DoH before changing adapter DNS
* Report DNS failures to tweak workflow
* Handle non-terminating DNS assignment failures
* Preserve DNS fallback and document Mullvad options
---------
Co-authored-by: Chris Titus <contact@christitus.com>
mpv has no official Windows installer; winget id shinchiro.mpv is the
de facto standard Windows build. Choco mpv/mpv.install are flagged
"Possibly broken" upstream, so winget is the sole install source.
* feat: restore document category
Moves existing document-focused apps into the Document category and adds its filter chip.
* feat: restore document applications
Restores reviewed document-focused apps removed in PR #4451.
* chore: update apps list as per code review comments
This also updates the link for PDF24 Creator
* test: verify document category filter wiring
Covers the Document filter handler and config category presence.
* fix: categorize Calibre as multimedia
Keeps the e-book reader in Multimedia Tools.
* fix: repair popup install binding, dialog titles, presets switch, radio groups, JSON, tests
- Invoke-WPFInstall: add param block so the right-click app popup binds
-PackagesToInstall. It previously dropped the argument into $args and
installed the whole selected list instead of the clicked app (or warned
that nothing was selected).
- Replace undefined $AppTitle with "WinUtil" in Install/UnInstall warning
boxes, matching the XAML window title and sibling dialogs.
- tweaks.json: remove stray nested "link" inside the WPFToggleScrollbars
registry entry (dead property; registry entries expose only the six
consumed fields).
- Invoke-WPFPresets: fix dead switch cases to the wildcard-pattern
convention so selectedFeatures/selectedToggles clear correctly.
- Invoke-WPFUIElements: store the group StackPanel in radioButtonGroups so
grouped radio buttons share one container (else branch was unreachable).
- sanity.Tests.ps1: pass the Windows PowerShell parser script via
-EncodedCommand; -Command string marshaling corrupted backticks/quotes and
produced false parse failures.
- install-workflow.Tests.ps1: remove the AppTitle workaround and update
title assertions to "WinUtil"; drop orphaned cleanup lines.
- Add CHANGES.md with technical and plain-language explanations.
Verified: each bug reproduced against HEAD, fixes demonstrated to change
behavior, full Pester suite 471/471.
* Delete
* test: cover the explicit popup install parameter path
Add a regression test invoking Invoke-WPFInstall -PackagesToInstall with a
package different from the default sync.selectedApps selection and assert
the runspace receives the explicit object, mirroring the Initialize-WPFUI
popup call shape. Existing default-path coverage is unchanged.
* feat: Add DoH templates for DNS providers in configuration
* feat: Implement DoH support for DNS configuration and management
* feat(pester): enhance DNS tests to include DoH server address handling and template application
* fix: address codex feedback
* fix: update existing DoH server entries
* fix: enable DoH auto-upgrade
* fix: handle DNS setup failures
* fix: remove DoH state on DHCP reset
* Add maximize button logic and update assets
* Add maximize button with theming
* delelte logo
* Center and restyle the window control buttons
* Fix window state test setup
---------
Co-authored-by: aran628 <aran2014+@gmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
* feat(tweaks): add window-level progress indicator for Run Tweaks and Undo
* Hide completed tweaks progress on next action
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* feat(legacy-panels): add Firewall, Security, Programs, and Mouse to Legacy Windows Panels
- Added `firewall.cpl`, `wscui.cpl`, `appwiz.cpl`, and `main.cpl` to `config/feature.json`
* chore(legacy-panels): alphabetize panel entries
---------
Co-authored-by: Chris Titus <contact@christitus.com>