Matthias,

Thanks for the detailed response.  Please accept my lack of knowledge on
the subject as I'm neither an OpenJDK developer nor a C developer, (I
develop using Java, so information is to benefit the bug report against
OpenJDK).  That said...

It appears the environment variable is a preflight which is leveraged to
avoid loading the libraries unintentionally.

I think what OpenJDK is trying to avoid is blindly loading a library that's
on the system without knowing if it's actually in-use.  This variable --
albeit deprecated -- was a reliable way to know that.

Here it checks to see if Gnome is running:
https://github.com/AdoptOpenJDK/openjdk-jdk/blob/634c676e6c145c936b460debaa95d0b6cfa61ae2/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java#L100

Here, it configures the look and feel:
https://github.com/AdoptOpenJDK/openjdk-jdk/blob/634c676e6c145c936b460debaa95d0b6cfa61ae2/src/java.desktop/share/classes/javax/swing/UIManager.java#L665

And deeper into the native calls, it interacts with Gtk libraries:
https://github.com/AdoptOpenJDK/openjdk-jdk/blob/634c676e6c145c936b460debaa95d0b6cfa61ae2/src/java.desktop/unix/native/libawt_xawt/awt/awt_UNIXToolkit.c#L53

So although I can't answer the specific theming questions, I can confirm
the theme seems to apply correctly on systems which utilize it.  It's less
of a matter of how to detect the theme and more of a matter of how to
detect that the desktop environment offers a Gtk theme to begin with.

Albeit deprecated and clunky, GNOME_DESKTOP_SESSION_ID seemed to have been
the way Java's known this historically and removal of it requires a
replacement of which I'm hoping to gain knowledge of.

- [email protected]


On Wed, Apr 29, 2020 at 1:37 PM Matthias Clasen <[email protected]>
wrote:

>
> Hey Tres,
>
> in my opinion, environment variables are about the worst possible option
> for this sort of thing.
>
> If you are linking against GTK, the easiest way is to just ask GTK itself
> if you need to know
> the theme name:
>
> g_object_get (gtk_settings_get_defautt (), "gtk-theme-name", &theme, NULL);
>
> But I am not sure that the theme name is really needed. What information
> are you looking for
> exactly ? And what decision are you going to make based on it ?
>
>
_______________________________________________
desktop-devel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to