Specific Requirements

Specific requirements are only available on the Enterprise plan. Please contact us if you want to know more.

GTK2

GTK2 and GTK3 are supported. Version is detected at runtime, and standard SWT mechanism can be used (env var SWT_GTK3).

Wayland Support

Equo Chromium is supported on Wayland using XWayland. There are two ways to run your app with XWayland.

Using an environment variable before launching your app:

GDK_BACKEND=x11

Or calling com.equo.chromium.swt.ChromiumBrowser.earlyInit() before creating the SWT Display. In a plain Java app this can be done calling earlyInit() in the main method. In an Eclipse RCP app, you can do this by having your own org.eclipse.equinox.app.IApplication and calling earlyInit() from the start method, for example:

import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;

public class Application extends org.eclipse.e4.ui.internal.workbench.swt.E4Application implements IApplication {
	@Override
	public Object start(IApplicationContext applicationContext) throws Exception {
		com.equo.chromium.swt.ChromiumBrowser.earlyInit();
		return super.start(applicationContext);
	}
}

CEF Switches

The CEF engine can be customized with switches. To do this set the system property:doctype: article

-Dchromium.args

Switches are separated by ;. For example:

-Dchromium.args=--disable-gpu;--proxy-pac-url=https://domain.com/proxy.pac

See here for available arguments.

Windowless Support

The Browser can be created and used in a windowless/headless form, not visible and not attached to any widget/control. Contact our Support Team for more information.

Custom Binaries Folder

The widget will take care of using binaries from exploded plugin folder. But it’s possible to point the widget to a folder that already contains all binaries, before creating the first browser.

To point the widget to a pre-filled folder with all binaries, set any of these path system properties:

-Dchromium.path

For example: -Dchromium.path=/tmp/chromiumswt.

The folder must contain a subfolder named chromium-3987/ with all expected files. Failure to include the expected files will result in unexpected behavior, since the widget will still try to extract resources when any file is missing.

The required files can be obtained by looking into the plugin fragment jar for each platform.