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

Thiago Milczarek Sayao tsayao at openjdk.org
Sun Oct 16 23:31:34 UTC 2022


This cleans size and positioning code, reducing special cases, code complexity and size.

Changes:

- cached extents: 28, 1, 1, 1 are old defaults - modern gnome uses different sizes. It does not assume any size because it varies - it does cache because it's unlikely to vary on the same system - but if it does occur, it will only waste a resize event.
- frame extents are received in process_property_notify;
- window geometry, min/max size are centralized in update_window_constraints and uses  `XSetWMNormalHints` because it supports initial position;
- window_configure: Changes can be requested directly to the window manager with `XReconfigureWMWindow` - it's compatible with `windowChangesMask`, `windowChanges`;
- request_focus uses `_NET_ACTIVE_WINDOW` directly as it does not seem to have focus stealing problems.

I have left some debug print statements which will be removed when we finish testing.

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

Commit messages:
 - Move / Resize notify
 - Clean
 - Cache extents
 - Frame extents
 - Merge remote-tracking branch 'origin/clean_glass_gtk' into clean_glass_gtk
 - work
 - work
 - Minor adjustments
 - Remove extents quirk
 - It builds
 - ... and 26 more: https://git.openjdk.org/jfx/compare/35675c8d...27eac46e

Changes: https://git.openjdk.org/jfx/pull/915/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=915&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8260528
  Stats: 474 lines in 4 files changed: 106 ins; 261 del; 107 mod
  Patch: https://git.openjdk.org/jfx/pull/915.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/915/head:pull/915

PR: https://git.openjdk.org/jfx/pull/915


More information about the openjfx-dev mailing list