On Sun, 26 Feb 2023 22:04:45 GMT, Thiago Milczarek Sayao <tsa...@openjdk.org> wrote:
>> 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 incrementally with one > additional commit since the last revision: > > Minor adjustments It's working now, but I found out that calling `gtk_window_move()` after `show()` changes the "focus on map" order. It's called then frame extents are received to adjust position by gravity. It might be a bug in gtk. With the current solution it is working, but it does send extra `notifyFocus`events, as before (I refer to the code in `master` branch). ------------- PR: https://git.openjdk.org/jfx/pull/915