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 three ways to run your app with XWayland.

Using an environment variable before launching your app.

GDK_BACKEND=x11

Use earlyInit() method.

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);
	}
}

In addition to this, you should add -nosplash to the run command to avoid loading GTK before earlyInit is called.

Only supported in version >= 88.0.14.

To use the custom shared library, you need to add the following code to your .ini file.

Example:

--launcher.library
plugins/com.equo.chromium.cef.gtk.linux.x86_64_88.0.<CHROMIUM-VERSION>/chromium-4324/

Multi threaded.

Some features like drag and drop (Linux) or CPU performance improvements can be enabled using the chromium.multi_threaded_message_loop=true property. By default, this property is disabled.

If you enable this property, you must use one of the three ways described in the Wayland Support section, otherwise you will experience crashes or unwanted SWT window effects.

Read more about it in the releases notes section.

Only supported in version >= 88.0.9.

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.

Spell Checking

Equo Chromium currently supports spell checking, as mispelled words will be underlined with a red squigly line. Upon selecting the word and clicking the right click button, a small context menu will open showing suggestions for correctly spelled words, and the option to add the mispelled word to the dictionary.

By default, the language the spell checker works with will be English. To change the language of the browser and the dictionary:

-Dchromium.args=--lang=es
'es' stands for Spanish, 'fr' stands for French, 'de' stands for German, and so on.

To disable spell checking:

-Dchromium.args=--disable-spell-checking