RFR: 8260528: Clean glass-gtk sizing and positioning code [v56]

Thiago Milczarek Sayao tsayao at openjdk.org
Sun Apr 2 20:49:38 UTC 2023


> 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.
> - window geometry, min/max size are centralized in `update_window_constraints`;
> - Frame extents (the window decoration size used for "total window size"):
>     - frame extents are received in `process_property_notify`;
>     - removed quirks in java code;
>     - When received, call `set_bounds` again to adjust the size (to account decorations later received);
> - Removed `activate_window` because it's the same as focusing the window. `gtk_window_present` will deiconify and focus it.
> - `ensure_window_size` was a quirk - removed;
> - `requested_bounds` removed - not used anymore;
> - `window_configure` incorporated in `set_bounds` with `gtk_window_move` and `gtk_window_resize`;
> - `process_net_wm_property` is a work-around for Unity only (added a check if Unity - but it can probably be removed at some point)
> - `restack` split in `to_front()` and `to_back()` to conform to managed code;

Thiago Milczarek Sayao has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 78 commits:

 - Merge branch 'master' into clean_glass_gtk
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Fix bug when window starts maximized and restores to wrong size
 - Minor adjustments
 - Fix window order
 - Revert "Fix window order (focus event)"
   
   This reverts commit 1ab609906e48ed8fb1b6f229c3afc0d4d2b79472.
 - Fix window order (focus event)
 - ... and 68 more: https://git.openjdk.org/jfx/compare/c23d067d...89e4efc6

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

Changes: https://git.openjdk.org/jfx/pull/915/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=915&range=55
  Stats: 750 lines in 5 files changed: 175 ins; 434 del; 141 mod
  Patch: https://git.openjdk.org/jfx/pull/915.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/915/head:pull/915

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


More information about the openjfx-dev mailing list