On the Windows platform at least, we are handling multiple monitors fairly well, with an exception.
When people have two or three monitors, they are almost always arranged in a horizontal row. In cases like this we are now handling saving and restoring of windows on any monitor and the proper placement of child windows no matter where the parents are.
//However//, if a user has **four monitors** or more it is likely they will be in an arrangement where one or more monitor is **above** another. In this case it doesn't work as well. We have a bit of code that needs to convert between how our windows are defined in gl coordinates to ghost locations. This is currently using the height of the current monitor.
In the following capture, main windows in the bottom monitors are trying to open "Properties" but they end up in the monitors above:
{F9878316}
This patch just replaces the use of "wm_get_screensize()" for "wm_get_desktopsize() so this calculation uses the proper virtual desktop height. The following shows all four monitors opening nearby child windows:
{F9878321}
Note that on Mac and Linux wm_get_desktopsize() just returns the size of the current monitor, which is exactly the same as current behavior so no change and no harm.
Note this also fixes the complaints in T70313