public static Set<String> getUIKeyPlatformPrefixes() {
		if( uiKeyPlatformPrefixes == null ) {
			uiKeyPlatformPrefixes = new HashSet<>();
			uiKeyPlatformPrefixes.add(
				SystemInfo.isWindows ? "[win]" :
				SystemInfo.isMacOS ? "[mac]" :
				SystemInfo.isLinux ? "[linux]" : "[unknown]" );

			// Linux
			if( SystemInfo.isLinux ) {
				if( SystemInfo.isGNOME )
					uiKeyPlatformPrefixes.add( "[gnome]" );
				else if( SystemInfo.isKDE )
					uiKeyPlatformPrefixes.add( "[kde]" );

				// add values from XDG_CURRENT_DESKTOP for other desktops
				String desktop = System.getenv( "XDG_CURRENT_DESKTOP" );
				if( desktop != null ) {
					// XDG_CURRENT_DESKTOP is a colon-separated list of strings
					// https://specifications.freedesktop.org/desktop-entry-spec/latest/recognized-keys.html#key-onlyshowin
					// e.g. "ubuntu:GNOME" on Ubuntu 24.10 or "GNOME-Classic:GNOME" on CentOS 7
					for( String desk : StringUtils.split( desktop.toLowerCase( Locale.ENGLISH ), ':', true, true ) )
						uiKeyPlatformPrefixes.add( '[' + desk + ']' );
				}
			}
		}
		return uiKeyPlatformPrefixes;
	}
Returns set of UI key prefixes, used in FlatLaf properties files, for current platform.
If UI keys in properties files start with a prefix (e.g. {@code [someprefix]Button.background}),
then they are only used if that prefix is contained in this set
(or is one of {@code [light]} or {@code [dark]} depending on current theme).
<p>
By default, the set contains one or more of following prefixes:
<ul>
  <li>{@code [win]} on Windows
  <li>{@code [mac]} on macOS
  <li>{@code [linux]} on Linux
  <li>{@code [unknown]} on other platforms
  <li>{@code [gnome]} on Linux with GNOME desktop environment
  <li>{@code [kde]} on Linux with KDE desktop environment
  <li>on Linux, the value of the environment variable {@code XDG_CURRENT_DESKTOP},
      split at colons and converted to lower case (e.g. if value of  {@code XDG_CURRENT_DESKTOP}
      is {@code ubuntu:GNOME}, then {@code [ubuntu]} and {@code [gnome]})
</ul>
<p>
You can add own prefixes to the set.
The prefixes must start with '[' and end with ']' characters, otherwise they will be ignored.

@since 3.6
flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java