Page 2 of 3

Re: Problem with auto scaling on different resolution screens

Posted: 21 Nov 2019 21:59
by twno1
The options are slightly different, so I clicked "Change high DPI settings".

Image

And go into this window, I checked "Override high DPI behavior. Scaling performed by:", then chose "System".

Image

Finally, it fixed the problem!! :tup: :tup:

However, another small problem comes up, it'd look slightly blur on the text.
But I think it's fine for me.

Image

The move-to-other-monitor logs are below.

Code: Select all

Debug Log
XYplorer 20.60.0002  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864  -  2019-11-22 04:39:01.949

XYplorer 20.60.0002  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864  -  2019-11-22 04:39:01.949
----------------------------------------------------------------------------------------------------

2019-11-22 04:38:54.438 >> WM_ENTERSIZEMOVE, monitor before: 1, monitor now: 1
2019-11-22 04:38:55.027 >> WM_EXITSIZEMOVE, monitor before: 1, monitor now: 0
2019-11-22 04:38:57.282 >> WM_ENTERSIZEMOVE, monitor before: 0, monitor now: 0
2019-11-22 04:38:58.321 >> WM_EXITSIZEMOVE, monitor before: 0, monitor now: 1
Thanks a lot for helping!!!

Re: Problem with auto scaling on different resolution screens

Posted: 21 Nov 2019 22:09
by admin
Still don't understand why my fix does not work.

1) When you actively resize the too-big-window, does it shrink then to normal size?
2) Does the screen; command now always show the correct screen DPI of each monitor?

Re: Problem with auto scaling on different resolution screens

Posted: 21 Nov 2019 22:29
by twno1
1) When you actively resize the too-big-window, does it shrink then to normal size?
Do you mean after adjusting DPI settings, moving XY to second screen would become same size as main screen size?
Then, yes.
2) Does the screen; command now always show the correct screen DPI of each monitor?
I don't know the info below is the correct screen DPI or not.

Main screen:

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2024)

Screen.Width (screenW) = 2560 (2560)
Screen.Height (screenH) = 1440 (1440)
Current Monitor: 2 (Primary)
Current Work Area: (0, 0) - (2560, 1359)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (2560, 1440)
Monitor 2 Area Work: (0, 0) - (2560, 1359)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (2560, 1359)
GetCursorPos = 1521, 282
Main Window: (1419, 170) - (2414, 1069)

Screen DPI: 96 (100%), twx: 15, stretch: 1
Screen Color Depth: 32
DPI awareness: Unaware

Second screen:

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2024)

Screen.Width (screenW) = 2560 (2560)
Screen.Height (screenH) = 1440 (1440)
Current Monitor: 1 (Secondary)
Current Work Area: (3840, 104) - (4920, 1943)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (2560, 1440)
Monitor 2 Area Work: (0, 0) - (2560, 1359)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (2560, 1359)
GetCursorPos = 4222, 641
Main Window: (3932, 542) - (4927, 1441)

Screen DPI: 96 (100%), twx: 15, stretch: 1
Screen Color Depth: 32
DPI awareness: Unaware


Re: Problem with auto scaling on different resolution screens

Posted: 21 Nov 2019 22:34
by admin
No, I meant in the original state, without that XYplorer.exe Properties fix.

1) I meant when you drag the XYplorer window to the right screen and it looks too big, when you then resize the window will it adjust to the correct size?

2) The "Screen DPI: " is shown near the bottom of the output of the screen command.

Re: Problem with auto scaling on different resolution screens

Posted: 21 Nov 2019 22:51
by twno1
1) I meant when you drag the XYplorer window to the right screen and it looks too big, when you then resize the window will it adjust to the correct size?
When I resize the window, the text size remains big.
2) The "Screen DPI: " is shown near the bottom of the output of the screen command.

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 2 (Primary)
Current Work Area: (0, 0) - (3840, 2038)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (3840, 2160)
Monitor 2 Area Work: (0, 0) - (3840, 2038)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 2045, 542
Main Window: (1920, 411) - (3271, 1521)

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 1 (Secondary)
Current Work Area: (3840, 104) - (4920, 1943)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (3840, 2160)
Monitor 2 Area Work: (0, 0) - (3840, 2038)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 4141, 636
Main Window: (3830, 503) - (4893, 1508)

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor


Re: Problem with auto scaling on different resolution screens

Posted: 21 Nov 2019 22:53
by admin
Strange! I'm done for today, thanks. Tomorrow I'll restart thinking...

Re: Problem with auto scaling on different resolution screens

Posted: 22 Nov 2019 12:24
by admin
I tried another fix. It's tricky since MS wraps every app in several layers of smartness to protect it from the truth, depending on various system settings.

The screen; command should correctly report the specs of the monitor XYplorer is currently running on, independently of where it started. If not even this works we still have a long way to go...

You can call that screen; command now with a parameter 1 that tells it to update some cached settings. Should not be necessary if all works as planned but who knows:

Code: Select all

screen 1;
NOTE: All the above is meaningless when you use the XYplorer.exe Properties setting (Overwrite high DPI scaling behavior...), so please turn that back to normal before testing.

Re: Problem with auto scaling on different resolution screens

Posted: 22 Nov 2019 19:21
by twno1
It looks like the same..... :(

Code: Select all

Screen
XYplorer 20.60.0003  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 1 (Primary)
Current Work Area: (0, 0) - (3840, 2038)

Number of Monitors: 3
Monitor 1 Area:      (0, 0) - (3840, 2160) = 3840x2160
Monitor 1 Area Work: (0, 0) - (3840, 2038)
Monitor 2 Area:      (3840, 104) - (4920, 2024) = 1080x1920
Monitor 2 Area Work: (3840, 104) - (4920, 1943)
Monitor 3 Area:      (-1920, 87) - (0, 1167) = 1920x1080
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 2012, 602
XY Main Window: (1817, 475) - (3334, 1548) = 1517x1073

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor

Code: Select all

Screen
XYplorer 20.60.0003  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 2 (Secondary)
Current Work Area: (3840, 104) - (4920, 1943)

Number of Monitors: 3
Monitor 1 Area:      (0, 0) - (3840, 2160) = 3840x2160
Monitor 1 Area Work: (0, 0) - (3840, 2038)
Monitor 2 Area:      (3840, 104) - (4920, 2024) = 1080x1920
Monitor 2 Area Work: (3840, 104) - (4920, 1943)
Monitor 3 Area:      (-1920, 87) - (0, 1167) = 1920x1080
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 4172, 618
XY Main Window: (3892, 492) - (5409, 1565) = 1517x1073

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor
I use "No-Install Package", I don't know if it is relevant.

Re: Problem with auto scaling on different resolution screens

Posted: 22 Nov 2019 19:55
by admin
Uploaded another "fix". If that fails too, I'm out of ideas for now.

Thanks for testing! :tup:

Re: Problem with auto scaling on different resolution screens

Posted: 22 Nov 2019 20:13
by twno1
Still the same result...
Thanks for your help!! :)

Re: Problem with auto scaling on different resolution screens

Posted: 23 Nov 2019 10:56
by admin
Just to make sure: you did not use the NoAutoScaling tweak?

Re: Problem with auto scaling on different resolution screens

Posted: 23 Nov 2019 20:36
by twno1
admin wrote: 23 Nov 2019 10:56 Just to make sure: you did not use the NoAutoScaling tweak?
I didn't install other tweaks, just keep the original settings.

Re: Problem with auto scaling on different resolution screens

Posted: 23 Nov 2019 20:50
by twno1
You can recreate this situation by changing second screen's resolution if you want to test by yourself.

Re: Problem with auto scaling on different resolution screens

Posted: 23 Nov 2019 21:05
by admin
Yep, working on it...

Re: Problem with auto scaling on different resolution screens

Posted: 25 Nov 2019 14:05
by StevenDB
admin wrote: 21 Nov 2019 11:10 Ok, thanks for that info.

Now I just need to know exactly which messages are sent by Windows when the app moves over to the other monitor. So I added some logging. In the next beta version (v20.60.0001) please do your inter-monitor move, then paste this into the XY address bar, press enter, and post the results:

Code: Select all

dlog;
Don, maybe I'm a noob, but can't seem to get any info by pasting "dlog;"

Steven