[ https://issues.apache.org/jira/browse/NETBEANS-1227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eirik Bakke resolved NETBEANS-1227. ----------------------------------- Resolution: Fixed Confirmed fixed in 10.0 release. > Mark Windows launcher binary as per-monitor DPI aware > ----------------------------------------------------- > > Key: NETBEANS-1227 > URL: https://issues.apache.org/jira/browse/NETBEANS-1227 > Project: NetBeans > Issue Type: Bug > Components: platform - Launchers&CLI > Affects Versions: 9.0 > Environment: Windows 8.1 and Windows 10 > Reporter: Eirik Bakke > Priority: Major > Labels: HiDPI, pull-request-available > Fix For: 10.0 > > Attachments: SmallIconsRun.png > > Time Spent: 2h 20m > Remaining Estimate: 0h > > As of Java 10.0.2, support for HiDPI monitors on Windows is quite good. All > the standard Swing components appear in high resolution, and Graphics2D > surfaces are automatically scaled appropriately for whichever monitor their > containing window is located on, including when windows are dragged between > monitors in a mixed-DPI multi-monitor setting. > For this to work, however, the EXE file that launches NetBeans must contain a > manifest that declares the application to be DPI-aware. Such a manifest > currently exists in java.exe and javaw.exe, but not in the custom > netbeans64.exe launcher. A workaround for the missing manifest is to right > click the "bin\netbeans64.exe" file, or whichever shortcut is being used to > open NetBeans, go to the "Compatibility" tab, click "Change high DPI > settings", "Override high DPI scaling behavior", and select scaling performed > by "Application". > An appropriate manifest should be added to netbeans64.exe to declare NetBeans > as per-monitor DPI aware. > To see how the manifest should be declared, we can dump the manifest of > javaw.exe: > {code:xml} > <?xml version="1.0"?> > <assembly xmlns="urn:schemas-microsoft-com:asm.v1" > xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0"> > <assemblyIdentity name="javaw.exe" version="10.0.2.0" > processorArchitecture="X86" type="win32"/> > <description>Java(TM) SE process</description> > <!-- More stuff goes here. ---> > <asmv3:application> > <asmv3:windowsSettings > xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> > <dpiAware>true/PM</dpiAware> > </asmv3:windowsSettings> > </asmv3:application> > <!-- More stuff goes here. ---> > </assembly> > {code} > This reveals that Java 10.0.2 considers itself DPI-aware at the "Per Monitor > V1" level (see the Microsoft documentation linked below). The NetBeans > launcher binary should declare the same. > References: > [https://docs.microsoft.com/en-us/windows/desktop/hidpi/high-dpi-desktop-application-development-on-windows] > [https://msdn.microsoft.com/en-us/library/windows/desktop/mt846517(v=vs.85).aspx] > [https://docs.microsoft.com/en-us/windows/desktop/sbscs/application-manifests] > [https://blogs.msdn.microsoft.com/mithuns/2009/12/16/random-how-to-quickly-view-a-binarys-embedded-manifest] > [https://docs.microsoft.com/en-us/sysinternals/downloads/sigcheck] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists