private static void printDesktopProperties() {
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		String osName = System.getProperty( "os.name" ).toLowerCase( Locale.ENGLISH );

		// Java scale factor
		GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment()
			.getDefaultScreenDevice().getDefaultConfiguration();
		double javaScale = gc.getDefaultTransform().getScaleX();
		float fontScale;

		double screenScale = javaScale;
		float textScale = 1;

		if( osName.startsWith( "windows" ) ) {
			// text scale factor
			Font winFont = (Font) toolkit.getDesktopProperty( "win.messagebox.font" );
			fontScale = roundToQuater( winFont.getSize() / 12f );
			textScale = fontScale;

			// Java 8
			if( System.getProperty( "java.version" ).startsWith( "1.8" ) ) {
				// screen scale factor
				Font winFont2 = (Font) toolkit.getDesktopProperty( "win.defaultGUI.font" );
				screenScale = roundToQuater( winFont2.getSize() / 11f );

				// text scale factor
				textScale = roundToQuater( textScale / (float) screenScale );
			}
		} else
			throw new RuntimeException( "OS not supported" );

		File dir = new File( "dumps/desktop-properties" );
		dir.mkdirs();

		String osPrefix = osName.startsWith( "windows" ) ? "win"
			: osName.startsWith( "mac" ) ? "mac"
			: osName.startsWith( "linux" ) ? "linux"
			: "unknown";
		String javaVersion = System.getProperty( "java.version" );

		File file = new File( dir, "desktop-properties-" + osPrefix + "-" + javaVersion
			+ "--" + screenScale + "s-" + textScale + "t.txt" );

		try( PrintStream out = new PrintStream( file ) ) {
			out.println( "Java version:   " + System.getProperty( "java.version" ) );
			out.println( "OS:             " + System.getProperty( "os.name" ) );
			out.println();

			out.println( "Screen scale:   " + screenScale );
			out.println( "Text scale:     " + textScale );
			out.println();

			out.println( "Java scale:     " + javaScale );
			out.println( "Font scale:     " + fontScale );
			out.println();

			String[] winPropNames = (String[]) toolkit.getDesktopProperty( "win.propNames" );
			for( String propName : winPropNames ) {
				Object value = toolkit.getDesktopProperty( propName );
				out.printf( "%-40s %s\n", propName, String.valueOf( value ) );
			}
		} catch( IOException ex ) {
			ex.printStackTrace();
		}
	}
Dumps desktop properties.

@author Karl Tauber
flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatDesktopPropertiesDump.java