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):
>> 
>>
>> (*) 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
https://stackoverflow.com/questions/49512491/javafx-getting-single-resize-events
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