Simon,

Thanks kindly for your detailed write up, especially the details including
"Gtk everywhere" examples like Firefox, Libreoffice as well as reasons
around the XDG_CURRENT_DESKTOP values/usage.

Interestingly, apps like IntelliJ have ditched themes like Metal/Win32/Gtk
in favor of their own, but maintaining a custom Look&Feel is and
undertaking that's unreasonable for the vast majority of Java developers.

I'll begin unit-testing the Gtk theming across various Unix/Linux desktops
-- especially those that are not Gtk-based -- and see how well it works.


- tres.finocchi...@gmail.com


On Thu, Apr 30, 2020 at 9:40 AM Simon McVittie via desktop-devel-list <
desktop-devel-list@gnome.org> wrote:

> On Wed, 29 Apr 2020 at 15:27:02 -0400, Tres Finocchiaro via
> desktop-devel-list wrote:
> > For reference, the commit which introduced this change:
> > [1]https://gitlab.gnome.org/GNOME/gnome-session/commit/
> > 00e0e6226371d53f651cc881e74c0543192c94a8#
> > 5b3005b925ed5c2612a9604ad3c756b1f9472165
> >
> > Note, at the time of committing that, Debian still had 225 instances of
> the OS
> > relying on this for detection of a Gtk-desktop (such as the mail
> launcher to
> > prefer Evolution to KMail, etc).
>
> Debian's gnome-session package carries a patch to revert that commit,
> unfortunately. We'd like to stop doing that, but as you say, there are
> at least 225 instances of packages doing it wrong.
>
> However, with or without that patch, anything that is looking at
> the deprecated GNOME_DESKTOP_SESSION_ID and expecting its absence or
> presence to indicate "non-GTK-based desktop" vs. "GTK-based desktop"
> is certainly a bug - not just because newer GNOME no longer sets
> GNOME_DESKTOP_SESSION_ID, but also because there are several GTK-based
> desktops that are not GNOME.
>
> LXDE (before Qt) and XFCE are examples of desktop environments that you
> would probably consider to be "GTK-based", but are not GNOME (not even
> forked or derived from GNOME - they are their own thing, only sharing
> lower-level libraries like GLib and GTK). They set XDG_CURRENT_DESKTOP to
> something that doesn't mention GNOME, and they don't set
> GNOME_DESKTOP_SESSION_ID, because they are not GNOME, and claiming to
> be GNOME would be inappropriate.
>
> MATE, Cinnamon and Deepin are examples of desktop environments based on
> a fork of an older version of GNOME, but which are not GNOME *any more*;
> again, they don't set XDG_CURRENT_DESKTOP to GNOME or anything containing
> GNOME, because they are their own independent desktop environments.
>
> I would recommend that Java GUI apps running on Linux (and probably
> all Unix platforms) should use whichever "look and feel" is considered
> to be high-quality and doesn't look hugely out-of-place. If the GTK
> "look and feel" is considered high-quality, it should probably be used
> everywhere. If it's considered low-quality (lots of bugs or missing
> functionality or whatever), then it would likely be better to use one
> that *is* high-quality, even if it doesn't visually resemble other apps
> on the desktop.
>
> Firefox and Libreoffice use GTK everywhere. If it's good enough for them,
> it's likely also good enough for Java.
>
>     smcv
> _______________________________________________
> desktop-devel-list mailing list
> desktop-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list
>
_______________________________________________
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to