Linux setResizeLimits()

Thanks, I think you’re right to point out the inconsistencies in the existing behaviour. The old behaviour is quite confusing and buggy. I’ve tried to improve things in the following series of commits:

The goal is that the behaviour should be almost identical on Linux and Windows, where the windowing models are quite similar. The fullscreen button will always set the window to fullscreen, regardless of the resize limits. If you don’t want to allow the window to enter full-screen mode, disable the full-screen button when creating a DocumentWindow.

On macOS, the situation is a bit more nuanced because there are a couple of different ‘full-screen’ behaviours: zooming, in which the window resizes to its maximum/best size without entering full-screen mode; and true full-screen, in which the window moves to its own dedicated desktop. The full-screen button on the native titlebar should work as expected (enter fullscreen by default, or zoom to the smaller of the window’s max size and the monitor’s size if option-clicked). For the non-native titlebar, only the zooming behaviour is implemented.

Hopefully that is all a bit more intuitive. Please let me know if you have any questions/concerns, or if you encounter any problems after updating to the newest version of JUCE on the develop branch.

1 Like