> This is a continuation to > [JDK-8236651](https://bugs.openjdk.org/browse/JDK-8236651) and it aims to > stabilize the linux glass gtk backend. > > It refactors the Glass GTK implementation with a primary focus on window > sizing, positioning, and state management, addressing a number of > long-standing issues. > > Previously, three separate context classes existed, two of which were used > for Java Web Start and Applets. These have been unified, as they are no > longer required. > > Additional tests have been introduced to improve coverage. Some tests > produced different results depending on the StageStyle, so they have been > converted to use `@ParameterizedTest` to exercise multiple styles. > > Although the primary focus is XWayland, the changes have also been verified > to work correctly on Xorg. > > This replaces #1789. It removes the use of GdkWindow in favor of GtkWindow, > reducing risk and simplifying the review process while preserving the same > set of bug fixes. Additionally, #2025 requires a `GtkWindow` to be used when > setting the parent of the file chooser dialog. > > To show debug messages, build with `-PCONF=DebugNative` and run with > `-Djdk.gtk.verbose=true`. Log categories can be passed with > `-Dglass.gtk.logCategories=CATEGORY` > > `CATEGORY` can be one or more of: > - all > - size > - position > - focus > - state > - lifecycle > - input > - dialog > > Multiple categories can be specified by separating them with commas (e.g. > size,focus,input). > > A manual test is provided: > `java @build/run.args tests/manual/stage/TestStage.java` > > When a window property is set, it is reported immediately. However, once it > reaches the native Glass layer, it may be adjusted or rejected, causing the > property to be updated again. Introducing a delay helps ensure the final > state has been applied before it is verified. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision: mapped = true for popups ------------- Changes: - all: https://git.openjdk.org/jfx/pull/2139/files - new: https://git.openjdk.org/jfx/pull/2139/files/8fd5515d..91e0ba20 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=2139&range=19 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2139&range=18-19 Stats: 3 lines in 1 file changed: 2 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jfx/pull/2139.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/2139/head:pull/2139 PR: https://git.openjdk.org/jfx/pull/2139
