This extension point allows for the contribution of splash handlers. These splash handlers may contribute custom behavior to the splash screen that appears during the start-up procedure that may include (but is not limited to) custom graphics and animation, custom progress reporting, and interactive behaviors.
It is possible to have only one splash handler active at a given time and the decision of which handler to choose from comes down to a product binding. As such, when defining a splash handler you must create two elements in your extension: the definition of the splash handler (represented by a
splashHandler element) and a product binding (represented by a
The splash life cycle is as follows:
- Eclipse process is launched
- Eclipse launches a native executable that creates the initial splash window (including bitmap)
- OSGi starts
- Workbench starts
- Workbench finds the splash handler suitable for this product and creates it
- init(Shell) is called on the handler
- Workbench initializes and spins the event loop at regular intervals
- Workbench advertises the completion of startup and the dispose() method is invoked on the handler
<!ELEMENT extension (
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
<!ELEMENT splashHandler EMPTY>
id CDATA #REQUIRED
class CDATA #REQUIRED
id - a unique name that will be used to identify this splash handler.
class - a class that extends
<!ELEMENT splashHandlerProductBinding EMPTY>
splashId CDATA #REQUIRED
productId CDATA #REQUIRED
splashId - unique id of a splash handler
productId - unique id of a product
The following is an example of this extension point:
In the absence of a product-bound handler described by an extension of this type the default Eclipse splash is used. This splash is driven by product constants defined in org.eclipse.ui.branding.IProductConstants
and will display a progress bar and message area at specified locations in specified colors.
Copyright (c) 2007 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at https://www.eclipse.org/legal/epl-v10.html