public static void showDocument(@Nonnull URI uri) throws IOException {
		final Runtime rt = Runtime.getRuntime();
		switch (PlatformType.get()) {
			case MAC -> rt.exec(new String[]{"open", uri.toString()});
			case WINDOWS -> rt.exec(new String[]{"rundll32", "url.dll,FileProtocolHandler", uri.toString()});
			case LINUX -> {
				String[] browsers = new String[]{"xdg-open", "google-chrome", "firefox", "opera", "konqueror", "mozilla"};
				for (String browser : browsers) {
					try (InputStream in = rt.exec(new String[]{"which", browser}).getInputStream()) {
						if (in.read() != -1) {
							rt.exec(new String[]{browser, uri.toString()});
							return;
						}
					}
				}
				throw new IOException("No browser found");
			}
			default -> throw new IllegalStateException("Unsupported OS: " + SystemInformation.OS_NAME);
		}
	}
Attempts to launch a browser to display a {@link URI}.

@param uri
		URI to display.

@throws IOException
		If the browser is not found, or it fails
		to be launched.
recaf-core/src/main/java/software/coley/recaf/util/DesktopUtil.java