RFR: 8354943: [Linux] Simplify and update glass gtk backend: window sizing, positioning, and state management issues [v5]

Thiago Milczarek Sayao tsayao at openjdk.org
Sat Apr 26 13:02:42 UTC 2025


On Thu, 24 Apr 2025 22:30:50 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:

>> tests/system/src/test/java/test/javafx/stage/SizingTest.java line 136:
>> 
>>> 134:             mode = EnumSource.Mode.INCLUDE,
>>> 135:             names = {"DECORATED", "UNDECORATED", "TRANSPARENT"})
>>> 136:     void testMaximizeMaxSize(StageStyle stageStyle) {
>> 
>> This test assumes that maximizing a window will ignore the max size settings. That's not how it works on macOS and it would be a bear to try to implement this. I think we should remove this test.
>
> I actually worked around by removing the constraints, maximize and restore back the constraints when unmaximized. Window does allow this. I would prefer to not allow as well and invert the test (or remove it).

Fixed it.

>> tests/system/src/test/java/test/javafx/stage/SizingTest.java line 164:
>> 
>>> 162:             mode = EnumSource.Mode.INCLUDE,
>>> 163:             names = {"DECORATED", "UNDECORATED", "TRANSPARENT"})
>>> 164:     void testFullScreenMaxSize(StageStyle stageStyle) {
>> 
>> You're assuming that fullscreen mode should ignore the max size properties. That's not how Windows 11 and macOS work. On macOS the window expands to the max size and is then centered on a black screen. On Windows 11 it ends up in the upper left corner with the desktop showing beneath it. It looks weird but I don't think there's much point to changing the implementation on these two platforms.
>
> I’m going to remove this test and undo the workaround I added to support it. I initially thought this behavior was consistent with how it works on Windows, but I think I got confused — Windows does allow a fullscreen, unresizable Stage.

Fixed it. But it does bug a little different than windows, it acts like it's fullscreen, but its not.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1789#discussion_r2061298692
PR Review Comment: https://git.openjdk.org/jfx/pull/1789#discussion_r2061298700


More information about the openjfx-dev mailing list