RFR: 8260528: Clean glass-gtk sizing and positioning code

Thiago Milczarek Sayao tsayao at openjdk.java.net
Wed Jan 27 16:42:45 UTC 2021

On Tue, 26 Jan 2021 00:01:44 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> This is a new approach to rewrite parts of gtk glass backend to be more clean.
>> I will provide small "manageable" PR to incrementally make the backend better.
>> This PR adresses cleanup of the Size and Positioning code. It makes code more "straightforward" and easier to maintain.
>> Current status (Ubuntu 20.04):
>> ![image](https://user-images.githubusercontent.com/30704286/102702414-1b1b1800-4241-11eb-90bf-8ab737ce2e04.png)
>> (*) Some of the iconify tests are also failing on the main branch. 
>> `gradlew -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test --tests test.robot.javafx.stage.IconifyTest` on a second run produces 4 tests, 2 failures.
> This does look like a much more manageable approach.
> One thing to be aware of from a bookkeeping point of view is that a JBS issues is resolved by a single PR. Once a PR has been integrated for a given JBS bug ID, that bug ID cannot be reused.
> This means that each separate PR will need it's own JBS issue to be filed, even if those enhancements taken together are part of a larger set of improvements. Incremental improvements are fine (and in this case a good way to proceed), but you might give some thought to the title of each such improvement. I wouldn't want to see 5 fixes go in each with the same title of `Simplify and update glass gtk backend`.

It's been pointed out about this

My tests point out that this PR causes less sizing events that the current master branch, but I also think this could be improved further.

But, by the nature of X and window managers, window sizes does not account decoration frames, but javafx does (probably mimicking windows behavior). Given this information I probably could reduce further the sizing events, but not make it equivalent to windows.


PR: https://git.openjdk.java.net/jfx/pull/367

More information about the openjfx-dev mailing list