BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
1.99k stars 444 forks source link

Windows Manager: multiple monitor persistence #2219

Open RichardHaselgrove opened 6 years ago

RichardHaselgrove commented 6 years ago

Feature request: allow memory of window positions to persist across multiple monitors.

From https://lists.ssl.berkeley.edu/pipermail/boinc_dev/2017-November/023032.html

Ageless93 commented 6 years ago

Will have to ask, that this is for Windows only?

RichardHaselgrove commented 6 years ago

The original request by Chris Raisin on the dev mailing list was in the context of Windows, and that's the OS I know too. Other platforms have to be handled differently because of the different window location storage facilities - no registry. But people with relevant knowledge of other platforms, join in.

CharlieFenton commented 6 years ago

The Macintosh Manager code already does remember window positions across multiple monitors. And it also automatically moves the window so the title bar is at least partially on screen if needed because the layout of the monitors has changed (for example, if a second monitor is removed from the system.) It is important to do this.

The Mac uses different code for this than other platforms; for other platforms, the code uses the wxWidgets APIwxSystemSettings::GetMetric( ); to return the width of the screen. This uses the main screen by default, but one can pass it the window so it works with any screen the window is on. However, in this code it needs to be called before the window exists, so that feature of this API can't be used here.