I tested on Wayland and X.org, and they both show exactly the same behavior.

(Apologies if this mail somehow breaks the mailing list chain, the digest mode makes it hard to reply to some mails)

On 10/25/2023 5:21 PM, openjfx-dev-requ...@openjdk.org wrote:
Question for the original poster of this thread: Are you running the
Wayland server or the X.org server?

-- Kevin


On 10/24/2023 5:53 PM, Thiago Milczarek Say?o wrote:
I suspect something changed on the window manager (mutter in the case
of default Ubuntu/gnome).

One problem is that focusing the window is restoring it's state - so
if you focus a maximized window the window manager restores it - looks
like a bug.

In the case of JavaFX the native side is calling realize on the window
which causes the underlying window to be created (X Window - the X11
window) and I suspect its the source of the problem. Might still be a
bug on the window manager, but the PR mentioned let's GTK realize the
window first, so it doesn't change the "natural" order expected by GTK.

I confirm that it fixes the window sizing problem reported on the issue.

Not sure about other problems, but I suspect they might be gone after
the fix (except for the state after focus).

Thiago






Em seg., 23 de out. de 2023 11:48, Christopher Schnick
<crschn...@xpipe.io>  escreveu:

     That is good to know that this issue is already being worked on.
     From the description of
     https://bugs.openjdk.org/browse/JDK-8316423, this issue is only
     tracked as affecting secondary stages? At least in our case it
     affects the primary stage as well, i.e. the one that is supplied
     via Application.start. Also, in this case it's not really about
     the scene dimensions, the stage doesn't even apply its own
     dimensions that were explicitly set before.

     On 10/23/2023 4:39 PM, Thiago Milczarek Say?o wrote:
     Forgot to mention: except for the system tray, I'm not looking
     into that.

     Em seg., 23 de out. de 2023 11:36, Thiago Milczarek Say?o
     <thiago.sa...@gmail.com>  escreveu:

         Hi Cristopher,

         https://github.com/openjdk/jfx/pull/1249

         We noticed it and I'm working on a fix.

         There's one issue that is probably a mutter bug:

         https://gitlab.gnome.org/GNOME/mutter/-/issues/3092

         -- Thiago

         Em seg., 23 de out. de 2023 10:05, Christopher Schnick
         <crschn...@xpipe.io>  escreveu:

             Hello,

             a user of our application xpipe
             <https://github.com/xpipe-io/xpipe>  reported several
             issues after upgrading their Ubuntu version and I
             investigated them myself. I want to note here that these
             issues are exclusive to new Ubuntu versions. I did not
             observe any of them on slightly older Ubuntu versions or
             other Gnome-based desktop environments. I don't know
             exactly which versions are affected, but 22.04 works fine
             and Ubuntu 23.10 does not.

             I'm sorry that I'm not able to create fully reproducible
             examples or dig deeper into the causes here, but I'm very
             constrained on time right now. For reproduction, I just
             installed a new default Ubuntu 23.10 VM and launched the
             JavaFX 21 application straight out of the box.

             The first issue is that windows do not retain their
             information when being hidden and then shown again. I.e.
             after being shown for the second time, they will have
             tiny dimensions and an GTK error is printed to stderr
             about height < 0. For now I temporarily resolve this by
             doing the following, which somehow fixes the issue:

             stage.show();

             ??????? // Due to some weird GTK bug, we have to set
             these sizes every time we show a window again even though
             they have been previously set
             ??????? stage.setX(stage.getX());
             ??????? stage.setY(stage.getY());
             ??????? stage.setWidth(stage.getWidth());
             stage.setHeight(stage.getHeight());

             Furthermore, while this is technically not purely JavaFX
             related, there is also a total freeze of the platform
             thread when it calls javax.swing.UIManager.setLookAndFeel
             as it gets stuck in some GTK implementation method. This
             is called by the fxtrayicon library, which calls this
             method here
             
<https://github.com/dustinkredmond/FXTrayIcon/blob/81c99a7357d8f48d9547c0bdb54b848041ce67c6/src/main/java/com/dustinredmond/fxtrayicon/FXTrayIcon.java#L923>.
             Since there is no native JavaFX tray integration, calling
             these awt/swing related methods is quite important for
             applications trying to use the system tray. This was a
             very unfortunate issue for us as it caused applications
             to not start up at all on affected systems.
             I wasn't able to compare the behavior to Ubuntu 22.04 as
             SystemTray.isSupported() returns false on Ubuntu 22.04
             but returns true on Ubuntu 23.10. Should this even return
             true on Ubuntu now or is this a bug?

             Again, these issues only occur on the very latest Ubuntu
             release. I have tested on a lot of other different
             distros, old and new, and they all worked flawlessly.

             Best regards, Christopher

Reply via email to