Compare commits

..
8 Commits
Author SHA1 Message Date
GabiandGitHub 9fed8d1c4c Reapply font scaling after theme change (#4782) 2026-07-04 00:29:22 -05:00
Chris TitusandGitHub 4ae3549b8a chore: Update generated dev docs (#4806) 2026-07-04 00:21:28 -05:00
Ivan LepekhaandGitHub e72ac75d13 feat(github): Add version context for issues (#4803)
* Create app suggestion discussion template

Add a discussion template for app suggestions with rules and input fields.

* Add application suggestion link to issue template

Added a link for suggesting applications to the issue template.

* Update app suggestion discussion template

* Add checkbox for WinGet application presence check

* Changed name of file, didn't change name of link XD

* Add WinUtil version input to bug report template

Added input field for WinUtil version in bug report template.

* whoops :^)

* Someone forgot that label is single value parameter

* GH Wiki is a liar

* GH Docs are looking awful
2026-07-04 00:21:26 -05:00
LKmXrandGitHub 9846dd7b49 Fix Multiplane Overlay toggle (#4768)
* Fix MPO values

DisableOverlays should be 0

* Update tweaks.json
2026-07-04 00:20:48 -05:00
eduardodepaivaandGitHub 466d32e690 Add MiniTool Partition Wizard and fix Everything sorting. (#4766) 2026-07-04 00:10:40 -05:00
Chris TitusandGitHub dce1536be0 chore: Update generated dev docs (#4805) 2026-07-04 00:06:25 -05:00
894d62ca68 Added WPFToggleWindowSnapping to tweaks.json (#4748)
* Added WPFToggleWindowSnapping to tweaks.json

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json

* Add Window Snapping tweak docs

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2026-07-04 00:05:56 -05:00
27e590577b fix: make tweak/feature link (?) follow font scaling (#4700)
* Update Invoke-WPFUIElements.ps1

* Update Invoke-WPFUIElements.ps1

* Update Invoke-WPFUIElements.ps1

Update Invoke-WPFUIElements.ps1

* Fix tweak link margin scaling

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2026-07-03 23:51:11 -05:00
22 changed files with 114 additions and 21 deletions
+8
View File
@@ -18,6 +18,14 @@ body:
- label: Yes, I did
required: true
- type: input
id: winutil_version
attributes:
label: "Version of WinUtil"
description: "Provide a version that you are using when issue submitted (it can be found in right corner of app)"
validations:
required: true
- type: dropdown
id: affected_part
attributes:
+10 -1
View File
@@ -782,6 +782,15 @@
"winget": "Element.Element",
"foss": true
},
"minitoolpartitionwizard": {
"category": "Utilities",
"choco": "minitoolpartitionwizard",
"content": "MiniTool Partition Wizard",
"description": "Comprehensive free partition manager that performs advanced operations Windows natively cannot, such as merging partitions, converting file systems, and organizing disk capacity.",
"link": "https://www.partitionwizard.com/",
"winget": "MiniTool.PartitionWizard.Free",
"foss": false
},
"modrinth": {
"category": "Games",
"choco": "modrinth-app",
@@ -1522,7 +1531,7 @@
"everything": {
"category": "Utilities",
"choco": "everything",
"content": "VoidTools Everything",
"content": "Everything",
"description": "Everything is a search engine that locates files and folders by filename instantly for Windows. Unlike Windows search Everything initially displays every file and folder on your computer (hence the name Everything). You type in a search filter to limit what files and folders are displayed.",
"link": "https://www.voidtools.com/",
"winget": "voidtools.Everything",
+21 -3
View File
@@ -1462,10 +1462,10 @@
{
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\GraphicsDrivers",
"Name": "DisableOverlays",
"Value": "1",
"Value": "0",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false"
"OriginalValue": "1",
"DefaultState": "true"
}
],
"link": "https://winutil.christitus.com/dev/tweaks/customize-preferences/multiplaneoverlay"
@@ -1530,6 +1530,24 @@
],
"link": "https://winutil.christitus.com/dev/tweaks/customize-preferences/numlock"
},
"WPFToggleWindowSnapping": {
"Content": "Window Snapping",
"Description": "Toggles the window snapping feature when dragging windows.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Control Panel\\Desktop",
"Name": "WindowArrangementActive",
"Value": "1",
"Type": "String",
"OriginalValue": "0",
"DefaultState": "true"
}
],
"link": "https://winutil.christitus.com/dev/tweaks/customize-preferences/windowsnapping"
},
"WPFToggleStandbyFix": {
"Content": "S0 Sleep Network Connectivity",
"Description": "Toggles network connectivity during S0 Sleep which is low power idle in modern laptops.",
@@ -3,7 +3,7 @@ title: "Start Menu Bing Search"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1587}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1605}
"WPFToggleBingSearch": {
"Content": "Start Menu Bing Search",
"Description": "Toggles Bing web search results in Windows Search.",
@@ -3,7 +3,7 @@ title: "Lock Screen - Disable"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1623}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1641}
"WPFTweaksDisableLockscreen": {
"Content": "Lock Screen - Disable",
"Description": "Skips the lock screen entirely and goes directly to the sign-in screen on boot and wake.",
@@ -3,7 +3,7 @@ title: "Game Mode"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1766}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1784}
"WPFToggleGameMode": {
"Content": "Game Mode",
"Description": "Toggles Windows prioritizes gaming performance by allocating system resources to games.",
@@ -3,7 +3,7 @@ title: "Settings Home Page"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1569}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1587}
"WPFToggleHideSettingsHome": {
"Content": "Settings Home Page",
"Description": "Toggles the Home Page in the Windows Settings app.",
@@ -3,7 +3,7 @@ title: "Logon Screen Acrylic Blur"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1605}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1623}
"WPFToggleLoginBlur": {
"Content": "Logon Screen Acrylic Blur",
"Description": "Toggles the acrylic blur effect on login screen background.",
@@ -3,7 +3,7 @@ title: "Enable Long Paths"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1792}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1810}
"WPFToggleLongPaths": {
"Content": "Enable Long Paths",
"Description": "Toggles support for file paths longer than 260 characters in Explorer.",
@@ -22,10 +22,10 @@ description: ""
{
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\GraphicsDrivers",
"Name": "DisableOverlays",
"Value": "1",
"Value": "0",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false"
"OriginalValue": "1",
"DefaultState": "true"
}
],
```
@@ -3,7 +3,7 @@ title: "S3 Sleep"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1551}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1569}
"WPFToggleS3Sleep": {
"Content": "S3 Sleep",
"Description": "Toggles between Modern Standby and S3 Sleep, which cuts off power to the CPU while continuing to refresh the memory.",
@@ -3,7 +3,7 @@ title: "S0 Sleep Network Connectivity"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1533}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1551}
"WPFToggleStandbyFix": {
"Content": "S0 Sleep Network Connectivity",
"Description": "Toggles network connectivity during S0 Sleep which is low power idle in modern laptops.",
@@ -3,7 +3,7 @@ title: "Start Menu Recommendations"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1640}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1658}
"WPFToggleStartMenuRecommendations": {
"Content": "Start Menu Recommendations",
"Description": "Toggles the recommendations section in the Start Menu. WARNING: This will also disable Windows Spotlight on your Lock Screen as a side effect.",
@@ -3,7 +3,7 @@ title: "Sticky Keys"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1684}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1702}
"WPFToggleStickyKeys": {
"Content": "Sticky Keys",
"Description": "Toggles the Sticky Keys, which activate when clicking shift rapidly.",
@@ -3,7 +3,7 @@ title: "Taskbar Task View Icon"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1748}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1766}
"WPFToggleTaskView": {
"Content": "Taskbar Task View Icon",
"Description": "Toggles the Task View Button in the Taskbar.",
@@ -3,7 +3,7 @@ title: "Taskbar Centered Icons"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1702}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1720}
"WPFToggleTaskbarAlignment": {
"Content": "Taskbar Centered Icons",
"Description": "Toggles the Taskbar alignment either to the left or center.",
@@ -3,7 +3,7 @@ title: "Taskbar Search Icon"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1730}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1748}
"WPFToggleTaskbarSearch": {
"Content": "Taskbar Search Icon",
"Description": "Toggles the Search Button on the Taskbar.",
@@ -0,0 +1,29 @@
---
title: "Window Snapping"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1533}
"WPFToggleWindowSnapping": {
"Content": "Window Snapping",
"Description": "Toggles the window snapping feature when dragging windows.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Control Panel\\Desktop",
"Name": "WindowArrangementActive",
"Value": "1",
"Type": "String",
"OriginalValue": "0",
"DefaultState": "true"
}
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).
@@ -3,7 +3,7 @@ title: "DNS - Set to:"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=1817}
```json {filename="config/tweaks.json",linenos=inline,linenostart=1835}
"WPFchangedns": {
"Content": "DNS - Set to:",
"category": "z__Advanced Tweaks - CAUTION",
@@ -74,6 +74,9 @@ function Invoke-WinUtilFontScaling {
}
}
# Store the scale factor so it can be reapplied after theme changes
$sync.FontScaleFactor = $ScaleFactor
# Update the font scaling percentage displayed on the UI
if ($sync.FontScalingValue) {
$percentage = [math]::Round($ScaleFactor * 100)
@@ -149,6 +149,11 @@ function Invoke-WinutilThemeChange {
}
}
# Reapply font scaling if it was previously set (theme change resets shared resources)
if ($sync.ContainsKey("FontScaleFactor") -and $sync.FontScaleFactor -ne 1.0) {
Invoke-WinUtilFontScaling -ScaleFactor $sync.FontScaleFactor
}
# Update the theme selector button with the appropriate icon
$ThemeButton = $sync.Form.FindName("ThemeButton")
$ThemeButton.Content = [string]$themeButtonIcon
+21
View File
@@ -404,6 +404,27 @@ function Invoke-WPFUIElements {
$textBlock.ToolTip = $entryInfo.Link
$textBlock.Style = $HoverTextBlockStyle
$textBlock.UseLayoutRounding = $true
$textBlock.VerticalAlignment = "Center"
$textBlock.SetResourceReference([Windows.Controls.Control]::FontSizeProperty, "FontSize")
$textBlock.Tag = $checkBox
$updateLinkMargin = {
[System.Object]$Sender = $args[0]
$linkedCheckBox = $Sender.Tag
$MarginTopBase = if ($linkedCheckBox) { $linkedCheckBox.Margin.Top } else { 0 }
$Sender.Margin = New-Object Windows.Thickness(
[math]::Round($Sender.FontSize * 0.5),
($MarginTopBase - [math]::Round($Sender.FontSize / 2)),
0, 0
)
}
$textBlock.Add_Loaded($updateLinkMargin)
$fontSizeDescriptor = [System.ComponentModel.DependencyPropertyDescriptor]::FromProperty(
[Windows.Controls.Control]::FontSizeProperty,
[Windows.Controls.TextBlock]
)
$fontSizeDescriptor.AddValueChanged($textBlock, $updateLinkMargin)
$horizontalStackPanel.Children.Add($textBlock) | Out-Null