* Add Get-WinUtilEntryToolTip helper for preset-key tooltips
* Show preset JSON key in app and tweak tooltips
* Match apps search against preset key for consistency with tweaks
* Limit preset-key tooltips to preset-representable controls
Comboboxes and package-manager radio buttons cannot appear in a preset
file. Update-WinUtilSelections routes a flat list of keys by the
WPFInstall/WPFTweaks/WPFToggle/WPFFeature/WPFAppx prefixes, so a preset
can carry neither a combobox selected value nor a radio group choice;
WingetRadioButton and ChocoRadioButton do not even carry a WPF prefix.
Advertising those control names as preset keys invited users to add keys
that fall through the switch and abort the whole import.
Revert the combobox label and radio button tooltips to the plain
description, and add tests that fail if the key is reattached to a
control the preset importer cannot accept.
* fix: address preset key review feedback
* docs: clarify preset key search scope
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Fix UI automation peer wrapping and category focusability
* Add accessibility name to SettingsButton
* Avoid nesting ScrollViewer in generated panels with outer viewers
Inspect targetGrid and its parent hierarchy in Invoke-WPFUIElements to avoid adding an inner ScrollViewer when an outer ScrollViewer already exists.
* Replace FOSS dot with a corner badge on app entries
- Add New-WinUtilFossBadge, the open source keyhole on a green backdrop
- Mark FOSS apps with a corner triangle instead of a dot after the name
- Give the FOSS legend a circle badge and move it below the buttons
- Sort Note entries last, they shared a rank with checkboxes before
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Update functions/private/Initialize-InstallAppEntry.ps1
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* 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.
* Replace FOSS highlight toggle with inline label
Remove the separate "Highlight FOSS" toggle and its theming logic, and instead append an inline "- FOSS" label to FOSS app entries. Changes: remove WPFToggleFOSSHighlight from app navigation and related event handlers, delete FOSSColor resource updates in theme code and button handler, simplify checkbox setup in Invoke-WPFUIElements by removing the special-case toggle logic, and update Initialize-InstallAppEntry to build a horizontal panel containing the app name plus a small green "- FOSS" TextBlock for FOSS items. This consolidates FOSS indication into the item UI and cleans up toggle/theme handling.
* Add inline FOSS label to app entries
Replace the separate StackPanel/TextBlock used for the FOSS indicator with an inline System.Windows.Documents.Run appended to the app name. The run is styled (green RGB(76,175,80) and FontSize=10) and the checkbox content assignment was moved outside the conditional so the appName (with optional FOSS run) is always used. Cleaned up related comments to reflect the FOSS label change.
* Add FOSS note type with green bullet
Added FOSS notes in the UI and FOSS labels with a green bullet instead of the text '#FOSS'
* Use larger circle glyph; remove italic text
Replaced the FOSS and list bullet glyphs with a larger circle for better visual consistency and removed the italic styling
* Update FOSS/bullet glyphs, colors and sizes
Updated FOSS/list bullet styling by switching glyphs from U+2B24 to U+25CF, increasing size (10→11.5), and adjusting bullet/text colors for better visibility and consistency across.
* Initial Remove Expanded View
* more cleanup
* Add word wrapping for Tooltips
* Update tooltip colors in themes and XAML styles
* Rename Properties for consistency
* More Cleanup, and simplification. Also added support for screenreaders
* Remove unused variables and shorten window naming
* Rename Invoke-WPFUIApps to Initialize-WPFUI and update function calls for consistency
* Rename Invoke-WPFUIApps.ps1 to Initialize-WPFUI.ps1
* Add TODO comments for sidebar UI generation in Initialize-WPFUI function
* Correct the Header Font Size naming and simplify the creation of the Selected Apps Button
* Adjust HeaderFontSize from 18 to 16 for improved readability
* initial visual implementation
- remove idiotic border logic from Invoke-WPFUIElements
- add "application" type & style
- add "radiobutton" type & style
- remove prefer choco checkbox (did not modify logic outside of xaml, so i currently get errors due to that)
* add image support via choco db
- add image support via choco db
- backup image should be taken from unigetui db
- backup backup image is some random package one rn
* add compatibility for every app
* performance improvements
- move get logo to runspace (not working rn)
- readd choco checkbox to mute errors
* add border name
* fix scrollviewer & reimplement logo logic into ui elements
* noimage fix
* add notes
* cleanup & remove nav from search effects
* add button action
* rename buttons
* add sort by options
* move scrollviewer & app buttons into uielements logic
* format logic for app action buttons
* fix app action button logic & move get & clear to sidepanel
* change category of new buttons
* add virtualisation & layouting fixes
- commented out prefer choco logic
- add virtualisation
- layouting improvements
* fix radiobuttons
* LETS GOOO (#12)
* Add Selected Apps Label, Reshuffel the nesting of the checkbox and the label to be able to reference the name from the actual checkbox
* Add visual selection and allow click on the whole app section
* Fix Theme definition to work with theme change
* Fix Highlight on if label or icon is clicked
* change applications.json to powershell object list and refactor UI Creation logic
* Optimization and Add Collapsable Categories
* Add Button functionality for install, uninstall, info, install selected, uninstall selected, clear and implement search
* Rest application.json to Main
* Reset Compile to main
* Pretty much revamp_apps but without changes to applications.json
* Small fixes
* Add Get-Installed Loading Indicator + small fixes
* Re-Add Choco Preference
* Remove Logic from Invoke-WPFUIElements that is Moved to Invoke-WPFUIApps
* Remove Alphabetical List, Sort Apps inside Category Alphabetically
* Small fixes to the Get-Installed function and formatting stuff
* Style for Hidden Checkbox but visible Content
* Hotfix for Category Expansion during search
* Replace Category Label with ToggleButton, Fix Search Bugs
* First Try at implementing a Compact Mode for the App page
* Fix Whitespace when using Search
* Keep the search status when switching between compact and full view
* Fix weird buggy behaviour in regards to switching the Display Mode and using Show-SelectedOnly
* Improve Togglebutton
- add initial implementation of togglebutton style
- add togglebuttons to appnavigation.json
- refractor UI element creation for Togglebutton
- commit preprocessing changes
* Togglebutton fixes
- move dot to the right in style
- cleanup code
- fix arrangement of content
* Add logic to the new ToggleButtons in the sidebar of the install tab and remove old buttons
* reorder buttons & fix Togglebutton toggling if action not possible
- reorder getinstalled and clearselection
- set togglebutton back if no app is selected
* Slight modificatoin to togglebutton style & fix sidebar width
* Add hover effect for the app tiles
* ToggleButtonStyle animation
- add hover animation to white dot
- remove IsPressed trigger
- improve some comments
* disable show selected filter on clear selection
* Add a Popup Dropdown for Selected Apps with the ability to deselect them
* Split up the functions to seperate files like the rest of the repo
* Fix Bug where Scrollviewer dosnt work
* disable autofallback checkbox
* run preprocessing
* remove installation scope
- remove all 3 radiobuttons from appnavigation.json
* remove scrollviewer from WPFUIElements
* toggle showselected on GetInstalled
* remove unused autofallback
---------
Co-authored-by: Martin Wiethan <47688561+Marterich@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
* move logic to json template
- remove Invoke-WPFToggle.ps1
- generalize Get-WinUtilToggleStatus
- add bingsearch reg key for testing
- use Invoke-WinUtilTweaks for actions
- replace Add-Click with checked & unchecked to make undo work
* add reg params for toggles into tweaks.json
- add all reg keys to tweaks.json into existing toggle entry
- remove unneeded scripts
* fix HKU
- load HKU if needed (for tweaks & GetToggleStatus)
- remove unneeded Invoke-WinUtilNumLock
- has loaded HKU does not load/not stay loaded
* add a lot of error handling
* Bugfix: New-PSDrive seems to return the "hku" itself so weirdly gets prepended to the return value so the result becomes ("hku", $false). In powershell pretty much every variable that exists is interpreted as $true so the toggle for numlock got incorrectly checked
* globally fix HKU error & minimize console feedback
- fix HKU issue globally
- remove some console logs, change some others to write-debug
* update Explorerrefresh
- change Invoke-WinUtilExplorerRefresh to handle refresh and restart
- add restart logic to window snapping Flyout & Suggestions
- rename Invoke-WinUtilExplorerRefresh to Invoke-WinUtilExplorerUpdate
* add explorer restart where needed to take effect
add explorer restart logic for hidden files + Fileextension toggles
* fix missing theme change logic in darkmode toggle
* fix window snapping
- fix issue defining WindowArrangementActive as dword instead of string
* fix bing search
- switch bing search enabled/disabled values
* add a little bit of error handling
- add error handling for Get-WinUtilToggleStatus
---------
Co-authored-by: Marterich <47688561+Marterich@users.noreply.github.com>
* Add @CodingWonders to the About page for his contribution and determination to make WinUtil (and MicroWin) the best software it can be!
* Remove the 'LogoSize' Parameter for About page - Make every sponsor in the sponsors list a link to ChrisTitusTech's Sponsors web link
* Change Theme Option name from 'ConfigTabButtonFontSize' to 'ConfigUpdateButtonFontSize' - Lower its value from 16 to 14
* Change Theme Option name from 'FontSizeHeading' to 'HeadingFontSize' for consistency
* Update 'LinkForegroundColor' for Light Theme to be lighter which'll make link hover color more noticeable
* Update 'Show-CustomDialog' Private Function
- Made a lot of theming/styling choices for Custom Dialogs exposed as parameters.
- Update the documentation for these new parameters in 'Show-CustomDialog' Function.
- Add a Link Hover Effect using 'Add_EVENT' methods (This can be tweaks/tuned-down if needed).
- Made use of 'Title' Parameter for 'Show-CustomDialog' Function inside 'scripts/main.ps1' script, to change Dialog Window Title.
- Now you can change the Logo Size of WinUtil through the 'LogoSize' Theming Option (the option was there, but not used in implementation).
* Preprocessing result
* Fix Settings Popup not closing after losing focus - Add trivial null checks for better debugging of UI code
* Remove unnecessary whitespace indentation in 'main.ps1' script
* Add a new 'Invoke-WPFPopup' Function to Better Handle Showing/Hiding/Toggling of Popups
* Improve 'Invoke-WPFPopup' by @MyDrift-user
Thanks for the improvements :)
---------
Co-authored-by: MyDrift <personal@mdiana.ch>
Co-authored-by: Chris Titus <contact@christitus.com>
* Setup for testing
* Working Example for Background
* Almost all MainBackgrounColor working
* Random Color PoC
* Fix DBorderColor
* prevent old logic from replacing colors in memory at startup
* Comment out resources in xaml
* Finish new Button
* Remove Pulse, Load Windows default Theme
* Fix Colors
* Fix Toggle Colors
* working version, with shared still being mostly applied be replace instead of resouces
* Load all entries in themes.json as Resource and reference them in inputXML.xaml
* Rename File to match Function Name
* Hotfix for Sync with main
* Remove Static Set-WinUtilUITheme function/file
* Rename File and Function
* Cleanup and Stuff
* Unify Button Theme with rest of UI
* Refactor/Optimazation
* Performance optimization
* Add Comments
* Rename Functions and Variables to be more concise and descriptive
* Add persistence to the user Theme Preference across winutil restarts
* Reimplement Theme Chagnes from #2722
* Add AUTO option to follow window theme and add dropdown instead toggle
* Formatting and deleting temp file
* Fix small display bug where Dropdown would remain open for settings and themes
* Remove terniary operators because only PS7+ is supported