--- a/src/java.desktop/share/classes/javax/swing/UIManager.java.orig Mon Nov 27 19:15:37 2023 +++ b/src/java.desktop/share/classes/javax/swing/UIManager.java Mon Nov 27 19:45:00 2023 @@ -667,10 +667,16 @@ } else { Toolkit toolkit = Toolkit.getDefaultToolkit(); if (toolkit instanceof SunToolkit) { + String xdgCurrentDesktop = System.getenv("XDG_CURRENT_DESKTOP"); SunToolkit suntk = (SunToolkit)toolkit; String desktop = suntk.getDesktop(); boolean gtkAvailable = suntk.isNativeGTKAvailable(); - if ("gnome".equals(desktop) && gtkAvailable) { + if (( + "mate".equalsIgnoreCase(xdgCurrentDesktop) || + "gnome".equalsIgnoreCase(xdgCurrentDesktop) || + "gnome".equals(desktop) + ) && gtkAvailable + ) { return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; } }