RFR: 8260528: Clean glass-gtk sizing and positioning code [v32]
Thiago Milczarek Sayao
tsayao at openjdk.org
Sun Dec 11 21:14:56 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.
> - 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;
> - Set `gtk_window_set_focus_on_map` to FALSE because if TRUE the Window Manager changes the window ordering in the "focus stealing" mechanism - this makes possible to remove the quirk on `request_focus()`;
> - Note: `geometry_get_*` and `geometry_set_*` moved location but unchanged.
Thiago Milczarek Sayao has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 32 additional commits since the last revision:
- Merge remote-tracking branch 'origin/clean_glass_gtk' into clean_glass_gtk
- Unity uses Compiz
- Fix show a window minimized
- Merge branch 'openjdk:master' into master
- Merge branch 'openjdk:master' into master
- Fix init iconified
- Fix View position
- Review changes
- Review changes
- 8260528: Clean glass-gtk sizing and positioning code
- ... and 22 more: https://git.openjdk.org/jfx/compare/39bf5b74...e9856c68
-------------
Changes:
- all: https://git.openjdk.org/jfx/pull/915/files
- new: https://git.openjdk.org/jfx/pull/915/files/e87b75fb..e9856c68
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jfx&pr=915&range=31
- incr: https://webrevs.openjdk.org/?repo=jfx&pr=915&range=30-31
Stats: 31623 lines in 1712 files changed: 13685 ins; 7150 del; 10788 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