From c83be3e74c218189046f67f7284e79957f96ebe8 Mon Sep 17 00:00:00 2001 From: Gordon Lam <73506701+yeelam-gordon@users.noreply.github.com> Date: Wed, 18 Jun 2025 00:08:54 -0700 Subject: [PATCH] User/yeelam/dpi fix (#40079) ## Summary of the Pull Request This PR updates all application manifest files across the PowerToys codebase to use **PerMonitorV2** DPI awareness, ensuring optimal high-DPI display support on modern Windows systems. ## Changes Made Updated **12 manifest files** to include proper PerMonitorV2 DPI awareness: ### Files with New DPI Support Added: - `src/runner/PowerToys.exe.manifest` - Added complete DPI awareness section - `src/modules/awake/Awake/app.manifest` - Upgraded from basic `dpiAware` to PerMonitorV2 ### Files Upgraded from PerMonitor to PerMonitorV2: - `src/modules/colorPicker/ColorPickerUI/App.manifest` - `src/modules/MouseWithoutBorders/App/MouseWithoutBorders.exe.manifest` ### Files Enhanced for Consistency: - `src/modules/ShortcutGuide/ShortcutGuide/ShortcutGuide.exe.manifest` - `src/modules/ZoomIt/ZoomIt/Zoomit.exe.manifest` - All 5 cmdpal extension manifests ## Technical Implementation All manifests now use the standardized format that provides: 1. **PerMonitorV2** as the primary DPI awareness mode for Windows 10 Anniversary Update and later 3. **`true/PM`** for backward compatibility with pre-Windows 10 systems ```xml true/PM PerMonitorV2, PerMonitor ``` ## Screenshot for comparision: Before: ![image](https://github.com/user-attachments/assets/ec621b21-d696-400a-8408-65da4ebdca95) After: ![image](https://github.com/user-attachments/assets/77ead0fe-1e8d-4e28-b71e-c6004ba53593) --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../PowerToys.Settings.DSC.Schema.Generator/app.manifest | 2 +- src/modules/AdvancedPaste/AdvancedPaste/app.manifest | 2 +- src/modules/FileLocksmith/FileLocksmithUI/app.manifest | 2 +- src/modules/Hosts/Hosts/app.manifest | 2 +- src/modules/MeasureTool/MeasureToolCore/app.manifest | 2 +- src/modules/MeasureTool/MeasureToolUI/app.manifest | 2 +- .../App/MouseWithoutBorders.exe.manifest | 1 + .../ShortcutGuide/ShortcutGuide.exe.manifest | 1 + src/modules/ZoomIt/ZoomIt/Zoomit.exe.manifest | 2 +- src/modules/awake/Awake/app.manifest | 5 +++-- .../TemplateCmdPalExtension/app.manifest | 1 + src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest | 1 + .../cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/app.manifest | 1 + .../cmdpal/ext/ProcessMonitorExtension/app.manifest | 1 + src/modules/cmdpal/ext/SamplePagesExtension/app.manifest | 1 + src/modules/colorPicker/ColorPickerUI/App.manifest | 6 ++---- src/modules/launcher/PowerLauncher/app.manifest | 4 ++-- src/modules/peek/Peek.UI/app.manifest | 2 +- .../poweraccent/PowerAccent.UI/PowerAccent.UI.csproj | 1 + src/modules/poweraccent/PowerAccent.UI/app.manifest | 9 +++++++++ src/modules/powerrename/PowerRenameUILib/app.manifest | 2 +- .../registrypreview/RegistryPreviewUILib/app.manifest | 2 +- src/runner/PowerToys.exe.manifest | 7 +++++++ src/settings-ui/Settings.UI/app.manifest | 2 +- 24 files changed, 42 insertions(+), 19 deletions(-) create mode 100644 src/modules/poweraccent/PowerAccent.UI/app.manifest diff --git a/src/dsc/PowerToys.Settings.DSC.Schema.Generator/app.manifest b/src/dsc/PowerToys.Settings.DSC.Schema.Generator/app.manifest index 9742e0b540..c5043e485d 100644 --- a/src/dsc/PowerToys.Settings.DSC.Schema.Generator/app.manifest +++ b/src/dsc/PowerToys.Settings.DSC.Schema.Generator/app.manifest @@ -9,7 +9,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 diff --git a/src/modules/AdvancedPaste/AdvancedPaste/app.manifest b/src/modules/AdvancedPaste/AdvancedPaste/app.manifest index 808075be8e..3f0eeb537f 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/app.manifest +++ b/src/modules/AdvancedPaste/AdvancedPaste/app.manifest @@ -16,7 +16,7 @@ 1) Per-Monitor for >= Windows 10 Anniversary Update 2) System < Windows 10 Anniversary Update --> - PerMonitorV2, PerMonitor + PerMonitorV2 \ No newline at end of file diff --git a/src/modules/FileLocksmith/FileLocksmithUI/app.manifest b/src/modules/FileLocksmith/FileLocksmithUI/app.manifest index 575aa4df9d..6a4422b71b 100644 --- a/src/modules/FileLocksmith/FileLocksmithUI/app.manifest +++ b/src/modules/FileLocksmith/FileLocksmithUI/app.manifest @@ -9,7 +9,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 diff --git a/src/modules/Hosts/Hosts/app.manifest b/src/modules/Hosts/Hosts/app.manifest index ca937b4b2a..d60aec67f6 100644 --- a/src/modules/Hosts/Hosts/app.manifest +++ b/src/modules/Hosts/Hosts/app.manifest @@ -10,7 +10,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 diff --git a/src/modules/MeasureTool/MeasureToolCore/app.manifest b/src/modules/MeasureTool/MeasureToolCore/app.manifest index 1292107c7f..43d75e11a1 100644 --- a/src/modules/MeasureTool/MeasureToolCore/app.manifest +++ b/src/modules/MeasureTool/MeasureToolCore/app.manifest @@ -9,7 +9,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 diff --git a/src/modules/MeasureTool/MeasureToolUI/app.manifest b/src/modules/MeasureTool/MeasureToolUI/app.manifest index 908d7af1a8..17f567bf50 100644 --- a/src/modules/MeasureTool/MeasureToolUI/app.manifest +++ b/src/modules/MeasureTool/MeasureToolUI/app.manifest @@ -9,7 +9,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 diff --git a/src/modules/MouseWithoutBorders/App/MouseWithoutBorders.exe.manifest b/src/modules/MouseWithoutBorders/App/MouseWithoutBorders.exe.manifest index 63feb1d04f..30503d0fa8 100644 --- a/src/modules/MouseWithoutBorders/App/MouseWithoutBorders.exe.manifest +++ b/src/modules/MouseWithoutBorders/App/MouseWithoutBorders.exe.manifest @@ -56,6 +56,7 @@ true/PM + PerMonitorV2 diff --git a/src/modules/ShortcutGuide/ShortcutGuide/ShortcutGuide.exe.manifest b/src/modules/ShortcutGuide/ShortcutGuide/ShortcutGuide.exe.manifest index 68d17e1db8..4747d3bd23 100644 --- a/src/modules/ShortcutGuide/ShortcutGuide/ShortcutGuide.exe.manifest +++ b/src/modules/ShortcutGuide/ShortcutGuide/ShortcutGuide.exe.manifest @@ -2,6 +2,7 @@ + true/PM PerMonitorV2 diff --git a/src/modules/ZoomIt/ZoomIt/Zoomit.exe.manifest b/src/modules/ZoomIt/ZoomIt/Zoomit.exe.manifest index 17abe5f212..f0fd786341 100644 --- a/src/modules/ZoomIt/ZoomIt/Zoomit.exe.manifest +++ b/src/modules/ZoomIt/ZoomIt/Zoomit.exe.manifest @@ -29,7 +29,7 @@ - per monitor + true/PM PerMonitorV2 diff --git a/src/modules/awake/Awake/app.manifest b/src/modules/awake/Awake/app.manifest index a3d1e52638..f76cb80bec 100644 --- a/src/modules/awake/Awake/app.manifest +++ b/src/modules/awake/Awake/app.manifest @@ -1,8 +1,9 @@ - - true + + true/PM + PerMonitorV2 \ No newline at end of file diff --git a/src/modules/cmdpal/ExtensionTemplate/TemplateCmdPalExtension/TemplateCmdPalExtension/app.manifest b/src/modules/cmdpal/ExtensionTemplate/TemplateCmdPalExtension/TemplateCmdPalExtension/app.manifest index 930a1b5cfa..88d3cd6aaf 100644 --- a/src/modules/cmdpal/ExtensionTemplate/TemplateCmdPalExtension/TemplateCmdPalExtension/app.manifest +++ b/src/modules/cmdpal/ExtensionTemplate/TemplateCmdPalExtension/TemplateCmdPalExtension/app.manifest @@ -13,6 +13,7 @@ + true/PM PerMonitorV2 diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest b/src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest index 0cd29eccd5..f5dd7ff036 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest @@ -13,6 +13,7 @@ + true/PM PerMonitorV2 diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/app.manifest b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/app.manifest index bcafb9bc5b..16492c3b79 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/app.manifest +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/app.manifest @@ -13,6 +13,7 @@ + true/PM PerMonitorV2 diff --git a/src/modules/cmdpal/ext/ProcessMonitorExtension/app.manifest b/src/modules/cmdpal/ext/ProcessMonitorExtension/app.manifest index a620209321..cf7490b1cb 100644 --- a/src/modules/cmdpal/ext/ProcessMonitorExtension/app.manifest +++ b/src/modules/cmdpal/ext/ProcessMonitorExtension/app.manifest @@ -13,6 +13,7 @@ + true/PM PerMonitorV2 diff --git a/src/modules/cmdpal/ext/SamplePagesExtension/app.manifest b/src/modules/cmdpal/ext/SamplePagesExtension/app.manifest index 6a7c7d68a7..13894ddf39 100644 --- a/src/modules/cmdpal/ext/SamplePagesExtension/app.manifest +++ b/src/modules/cmdpal/ext/SamplePagesExtension/app.manifest @@ -13,6 +13,7 @@ + true/PM PerMonitorV2 diff --git a/src/modules/colorPicker/ColorPickerUI/App.manifest b/src/modules/colorPicker/ColorPickerUI/App.manifest index 94b792d3fe..c99f120d43 100644 --- a/src/modules/colorPicker/ColorPickerUI/App.manifest +++ b/src/modules/colorPicker/ColorPickerUI/App.manifest @@ -52,10 +52,8 @@ - true - - PerMonitor - + true/PM + PerMonitorV2 diff --git a/src/modules/launcher/PowerLauncher/app.manifest b/src/modules/launcher/PowerLauncher/app.manifest index fb9b15e291..88e30f9f32 100644 --- a/src/modules/launcher/PowerLauncher/app.manifest +++ b/src/modules/launcher/PowerLauncher/app.manifest @@ -52,8 +52,8 @@ - true - PerMonitorV2, PerMonitor + true/PM + PerMonitorV2 diff --git a/src/modules/peek/Peek.UI/app.manifest b/src/modules/peek/Peek.UI/app.manifest index 122bedce24..e45d3c1982 100644 --- a/src/modules/peek/Peek.UI/app.manifest +++ b/src/modules/peek/Peek.UI/app.manifest @@ -19,7 +19,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 true diff --git a/src/modules/poweraccent/PowerAccent.UI/PowerAccent.UI.csproj b/src/modules/poweraccent/PowerAccent.UI/PowerAccent.UI.csproj index 291a2a8c17..217b437e95 100644 --- a/src/modules/poweraccent/PowerAccent.UI/PowerAccent.UI.csproj +++ b/src/modules/poweraccent/PowerAccent.UI/PowerAccent.UI.csproj @@ -9,6 +9,7 @@ true True icon.ico + app.manifest PowerToys.PowerAccent True PowerAccent.UI.Program diff --git a/src/modules/poweraccent/PowerAccent.UI/app.manifest b/src/modules/poweraccent/PowerAccent.UI/app.manifest new file mode 100644 index 0000000000..4747d3bd23 --- /dev/null +++ b/src/modules/poweraccent/PowerAccent.UI/app.manifest @@ -0,0 +1,9 @@ + + + + + true/PM + PerMonitorV2 + + + \ No newline at end of file diff --git a/src/modules/powerrename/PowerRenameUILib/app.manifest b/src/modules/powerrename/PowerRenameUILib/app.manifest index 8554f867e0..a5c3bbd209 100644 --- a/src/modules/powerrename/PowerRenameUILib/app.manifest +++ b/src/modules/powerrename/PowerRenameUILib/app.manifest @@ -9,7 +9,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 diff --git a/src/modules/registrypreview/RegistryPreviewUILib/app.manifest b/src/modules/registrypreview/RegistryPreviewUILib/app.manifest index 0871bb63b2..d4e6b85826 100644 --- a/src/modules/registrypreview/RegistryPreviewUILib/app.manifest +++ b/src/modules/registrypreview/RegistryPreviewUILib/app.manifest @@ -9,7 +9,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2 diff --git a/src/runner/PowerToys.exe.manifest b/src/runner/PowerToys.exe.manifest index e8c022cf25..ce82aa752f 100644 --- a/src/runner/PowerToys.exe.manifest +++ b/src/runner/PowerToys.exe.manifest @@ -6,4 +6,11 @@ + + + + true/PM + PerMonitorV2 + + diff --git a/src/settings-ui/Settings.UI/app.manifest b/src/settings-ui/Settings.UI/app.manifest index 9742e0b540..c5043e485d 100644 --- a/src/settings-ui/Settings.UI/app.manifest +++ b/src/settings-ui/Settings.UI/app.manifest @@ -9,7 +9,7 @@ 2) System < Windows 10 Anniversary Update --> true/PM - PerMonitorV2, PerMonitor + PerMonitorV2