OpenCPN / OpenCPN

A concise ChartPlotter/Navigator. A cross-platform ship-borne GUI application supporting * GPS/GPDS Postition Input * BSB Raster Chart Display * S57 Vector ENChart Display * AIS Input Decoding * Waypoint Autopilot Navigation
https://opencpn.org/
GNU General Public License v2.0
1.06k stars 503 forks source link

UI is huge #1851

Open Wouterdek opened 4 years ago

Wouterdek commented 4 years ago

At least on Windows, this application is not properly DPI aware when using 2 monitors with different DPI settings. As the Microsoft documentation explains, applications should rescale based on the DPI of the monitor the window is located on. It seems wxWidgets supports this, as I was able to find a resolved issue and a pull request related to this, but OpenCPN does not.

The result is that certain parts of the UI are huge when dragged onto the second monitor. See this screenshot for an example.

Luckily, as you can see in this small commit from a similar wxWidgets application, this may be easy to resolve. The key here is to scale each element with the right DPI value, and tell Windows the application supports DPI changes with the PerMonitorV2 value in the manifest file.

rgleason commented 3 years ago

This seems well documented with a partial solution, perhaps someone could make a PR? However is it still an issue, and is DPI awareness to be able to drag to another display a frequent necessity?

rgleason commented 1 year ago

I think this can be closed now. @Bdbcat or @Wouterdek ? Can you close it?

rgleason commented 1 year ago

It is time to close this.

nohal commented 1 year ago

@rgleason did you test the behavior on a multimonitor system? I don't think we did much to address this.

rgleason commented 1 year ago

Sorry, no. I will try to test.

rgleason commented 1 year ago

Where I have an additional moniter. Dell Laptop is high res, monitore #2 is low res. 20230503_131042(1)