There are several open bug reports of problems in AWT on ubuntu 23.10
(and some on 23.04)
https://bugs.openjdk.org/issues/?jql=project%20%3D%20JDK%20AND%20component%20%3D%20client-libs%20AND%20labels%20in%20(ubuntu23.04%2C%20ubuntu23.10)
Note that GTK is not used to the same extent as it is by FX.
In fact it is used for only 2 things and only one of those can matter in
your app,
and that is that the Swing GTK L&F uses it to get the rendering of GTK
themes.
So if you weren't using the GTK L&F then a Swing app would likely not
even load GTK.
But for a mixed FX + Swing app then of course it will still be loaded by FX.
-phil.
On 10/23/23 7:48 AM, Christopher Schnick wrote:
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