In the Squeak bundles, the executables for Windows now contain a manifest file to make sure the image contents are not displayed blurry on high-DPI screens but we can use the image-side scaling mechanism instead. However, the VM does not scale up the window decorations properly even though this is promised by the manifest file:
100% DPI: ![image](https://user-images.githubusercontent.com/38782922/149572360-b7a3b0f8-623a-4...)
250% DPI: ![image](https://user-images.githubusercontent.com/38782922/149572201-23f311f6-b2a2-4...)
Have you tried to override the settings of the executable? On my machine the window decorations are scaled properly. It is nothing the VM itself can fix. In the Manifest, there are several levels of dpi-awareness, which also affect the scaling of the windows decorations.
Read more about this here: https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-applic...
In the app bundle, we use the following configuration in the Manifest:
``` asmv3:application asmv3:windowsSetting <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness> </asmv3:windowsSettings> </asmv3:application> ```
To support both Windows 10 (Update 1703) and prior versions.
I am using OSVM 202112201228. I keep observing the issue when changing the scaling factor under Windows, for instance, when moving a window from a normal screen to a high-DPI screen. As a wild guess, should the VM handle the `WM_DPICHANGED` event?
Can you reproduce this? :)
Here is a possibly related observation:
- open Squeak on a high-DPI screen (so that everything will look tiny unless you change the image-side scale factor) - move the window to a low-DPI screen - now all mouse cursor looks very tiny. The image-side rendered cursor (as can be seen when dragging a morph) looks correct, though.
This effect occurs the other way around, too, when starting the window on a low-DPI screen and moving it to a high-DPI screen. Maybe the cursors should always be rendered with respect to the operating system's scale factor?
Have you tried to override the settings of the executable?
Using OSVM 202112201228, this seems to be necessary, otherwise, the OS scales up the contents on the high-DPI screen. Did you change this after November? :-)
vm-dev@lists.squeakfoundation.org