Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Simplify DPI awareness settings in default app.manifest template #5659

Closed
Marv51 opened this issue Aug 10, 2021 · 3 comments · Fixed by microsoft/WindowsAppSDK#1748
Assignees
Labels
feature proposal New feature proposal product-winui3 WinUI 3 issues team-Rendering Issue for the Rendering team

Comments

@Marv51
Copy link
Contributor

Marv51 commented Aug 10, 2021

Proposal: Simplify DPI awareness settings in default app.manifest template

Summary

WindowsAppSDK apps are supported on Window 10 1809 and newer. The default app.manifest file contains very complicated logic on how dpi aware the app is. This file is added by the template to every app. The manifest should be simplified, as Windows 10 1809 and newer versions all support the most modern "PerMonitorV2" setting. The compatibility options are not needed.

Rationale

There is a lot of boilerplate and hard to understand things involved in making the Windows App SDK and WinUI 3 work. This is one complexity that is just not needed.

Scope

Capability Priority
Same DPI awareness on all currently supported Windows versions Must
Simpler (easier for devs to understand) app.manifest file Must
Change anything about how DPI awareness works Won't

Important Notes

This is the current section:

  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <!-- The combination of below two tags have the following effect:
           1) Per-Monitor for >= Windows 10 Anniversary Update
           2) System < Windows 10 Anniversary Update
      -->
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
    </windowsSettings>
  </application>

Which should be functionally equivalent to this (which is much easier to understand):

  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
    </windowsSettings>
  </application>

Open Questions

Are there any parts of Windows App SDK that are expected to be able to run on version earlier than 1703?

@andrewleader
Copy link

Good proposal @Marv51, moving this to the WinUI 3 team's repository since it's WinUI 3 project related.

And to answer your open question - You're correct, Windows App SDK is only expected to run on 1809 and higher.

@andrewleader andrewleader transferred this issue from microsoft/WindowsAppSDK Aug 10, 2021
@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Aug 10, 2021
@StephenLPeters StephenLPeters added feature proposal New feature proposal product-winui3 WinUI 3 issues team-Rendering Issue for the Rendering team labels Aug 10, 2021
@ghost ghost added this to Freezer in Feature tracking Aug 10, 2021
@StephenLPeters
Copy link
Contributor

@marb2000 @codendone and @gegao18 FYI

@Marv51
Copy link
Contributor Author

Marv51 commented Nov 7, 2021

I have opened a PR to fix this in the WindowsAppSDK repo. Let's get this fixed!

@ghost ghost removed this from Freezer in Feature tracking Nov 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature proposal New feature proposal product-winui3 WinUI 3 issues team-Rendering Issue for the Rendering team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants