I have an issue when two screens are connected to my MacbookPro. I will try to be as accurate as possible.
Other Screen (1900x1600)
The mainWindow Application is normally set to x = 0 and y = 0 .
Setting bounds of the mainWindow calls constrainFrameRect:NSRect toScreen: NSScreen, which is overriden by JuceNSWindow.
The issue here is with the checkBounds function and with the area where bounds are limited :
constrainer->checkBounds (pos, original, Desktop::getInstance().getAllMonitorDisplayAreas().getBounds(), pos.getY() != original.getY() && pos.getBottom() == original.getBottom(), pos.getX() != original.getX() && pos.getRight() == original.getRight(), pos.getY() == original.getY() && pos.getBottom() != original.getBottom(), pos.getX() == original.getX() && pos.getRight() != original.getRight());
In this call, you set the limits by considering all the MonitorDisplayAreas. For One screen, there is no problem since y = 0 will be considered as the top left edge of the main screen.
But with my two screens connected, this will not be the case and the mainWindow will be set Behind the Mac native menu bar.
I identified this issue in both Juce 1.53 and Juce 2.0, do you have a trick to avoid this ?
Thanks in advance