[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8260528: Clean glass-gtk sizing and positioning code [v30]
From:       Kevin Rushforth <kcr () openjdk ! org>
Date:       2022-11-30 22:59:36
Message-ID: yYsjxQvPtoEM1IcKfqBfAzfI6Fu7MjDVAq2xquQy300=.87d120bd-ae98-4b5d-8fb2-b182a0e6880b () github ! com
[Download RAW message or body]

On Tue, 22 Nov 2022 01:40:02 GMT, Thiago Milczarek Sayao <tsayao@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;
> > - 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 incrementally with one \
> additional commit since the last revision: 
> Fix View position

One problem I noticed is that when a Stage is shown from a JavaFX applications \
launched from a terminal, it appears behind the terminal window in the stacking \
order. With the existing code, a  Stage is initially shown above the terminal window. \
This was also on Ubuntu 16.04, so I'll try it on a more recent version.

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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic