Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/IImageKeys.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/IImageKeys.java	(revision 2473)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/IImageKeys.java	(revision 2474)
@@ -36,20 +36,22 @@
 import org.txm.utils.logger.Log;
 
 /**
- * Stores image keys and also Image objects. 
+ * Stores image keys and also Image objects.
  * 
  * @author mdecorde
  * @author sjacquot
  */
 // FIXME: this class creates some image but never free them.
 public abstract class IImageKeys {
-
+	
 	/** The images. */
-	private final static HashMap<String, Image> images = new HashMap<String, Image>();
+	private final static HashMap<String, Image> images = new HashMap<>();
 	
 	/** The Constant ACTION_CONCORDANCES. */
 	public static final String ACTION_CONCORDANCES = "icons/concordance.png"; //$NON-NLS-1$
+	
 	public static final String CONCORDANCE_DELETE = "icons/functions/Concordances_delete_line.png"; //$NON-NLS-1$
+	
 	/** The Constant ACTION_COOCCURRENCE. */
 	public static final String ACTION_COOCCURRENCE = "icons/functions/Cooccurrences.png"; //$NON-NLS-1$
 	
@@ -91,7 +93,7 @@
 	
 	/** The Constant ACTION_INFO. */
 	public static final String ACTION_INFO = "icons/functions/diagnostique.png"; //$NON-NLS-1$
-		
+	
 	/** The Constant TEXT. */
 	public static final String TEXT = "icons/objects/book.png"; //$NON-NLS-1$
 	
@@ -144,31 +146,32 @@
 	
 	/** The Constant UNCHECKED. */
 	public static final String UNCHECKED = "icons/cross.png"; //$NON-NLS-1$
-
+	
 	public static final String ACTION_INTERTEXTDIST = "icons/functions/dist.png"; //$NON-NLS-1$
-
+	
 	public static final String QUERYINDEX = "icons/functions/QueryIndex.png"; //$NON-NLS-1$
-
+	
 	public static final String COOCMATRIX = "icons/functions/graph.png"; //$NON-NLS-1$
-
+	
 	public static final String ACTION_WORDCLOUD = "icons/functions/WordCloud.png"; //$NON-NLS-1$
-
+	
 	public static final String CTRLSTART = "icons/control_start_blue.png"; //$NON-NLS-1$
-
+	
 	public static final String CTRLREVERSE = "icons/control_reverse_blue.png"; //$NON-NLS-1$
-
+	
 	public static final String CTRLPLAY = "icons/control_play_blue.png"; //$NON-NLS-1$
-
+	
 	public static final String CTRLEND = "icons/control_end_blue.png"; //$NON-NLS-1$
-
+	
 	public static final String CTRLFASTFORWARD = "icons/control_fastforward_blue.png"; //$NON-NLS-1$
 	
 	public static final String CTRLFASTFORWARDEND = "icons/control_fastforwardend_blue.png"; //$NON-NLS-1$
-
-
+	
+	
 	public static final String CTRLREWINDSTART = "icons/control_rewindstart_blue.png"; //$NON-NLS-1$
+	
 	public static final String CTRLREWIND = "icons/control_rewind_blue.png"; //$NON-NLS-1$
-
+	
 	/**
 	 * Chart editor export view command icon.
 	 */
@@ -178,7 +181,7 @@
 	 * Chart editor reset view command icon.
 	 */
 	public static final String CHARTS_RESET_VIEW = "icons/functions/charts_reset_view.png"; //$NON-NLS-1$
-
+	
 	/**
 	 * CA Chart editor show/hide columns command icon.
 	 */
@@ -188,7 +191,7 @@
 	 * CA Chart editor show/hide rows command icon.
 	 */
 	public static final String CHARTS_CA_SHOW_ROWS = "icons/functions/charts_CA_show_rows.png"; //$NON-NLS-1$
-
+	
 	/**
 	 * CAH Chart editor compute columns command icon.
 	 */
@@ -203,30 +206,40 @@
 	 * Global export chart command icon.
 	 */
 	public static final String CHARTS_EXPORT_CHART = "icons/functions/export_chart.png"; //$NON-NLS-1$
-
+	
 	/**
 	 * Global export result data command icon.
 	 */
 	public static final String CHARTS_EXPORT_DATA = "icons/functions/export_data.png"; //$NON-NLS-1$
-
+	
 	public static final String PENCIL = "icons/functions/pencil.png"; //$NON-NLS-1$
+	
 	public static final String PENCIL_ADD = "icons/functions/pencil_add.png"; //$NON-NLS-1$
+	
 	public static final String PENCIL_SAVE = "icons/functions/pencil_save.png"; //$NON-NLS-1$
+	
 	public static final String PENCIL_OPEN = "icons/functions/pencil_open.png"; //$NON-NLS-1$
+	
 	public static final String PENCIL_CLOSE = "icons/functions/pencil_close.png"; //$NON-NLS-1$
 	
 	public static final String ACTION_ADD = "icons/add.png";//$NON-NLS-1$
+	
 	public static final String ACTION_REMOVE = "icons/remove.png";//$NON-NLS-1$
+	
 	public static final String WORLD = "icons/world.png";
-
+	
 	public static final String TXM_ICON = "icons/logo/TXM_logo.png";
+	
 	public static final String TXM = "icons/logo/TXM_logo_64x64.png";
-
+	
+	public static final String SPLASH = "splash.bmp";
+	
 	public static final String OPEN_DECORATOR = "icons/decorators/bullet_arrow_down.png";
+	
 	public static final String CLOSE_DECORATOR = "icons/decorators/bullet_arrow_up.png";
-
+	
 	public static final String TXM_FLAT_LOGO = "icons/logo/TXM_flat_logo.png";
-
+	
 	/**
 	 * Gets the image.
 	 *
@@ -248,7 +261,7 @@
 	
 	/**
 	 * 
-	 * @param plugin ID 
+	 * @param plugin ID
 	 * @param imageFilePath
 	 * @return
 	 */
@@ -258,7 +271,7 @@
 	
 	/**
 	 * 
-	 * @param class of plugin to find 
+	 * @param class of plugin to find
 	 * @param imageFilePath
 	 * @return
 	 */
@@ -285,10 +298,10 @@
 		if (!images.containsKey(imagekey)) {
 			ImageDescriptor imgg = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, imagekey);
 			if (imgg == null) {
-				Log.severe("Warning: image not found in '"+pluginId+"' -> '"+imagekey+"'");
+				Log.severe("Warning: image not found in '" + pluginId + "' -> '" + imagekey + "'");
 				return getImage("icons/null.png");
 			}
-
+			
 			images.put(imagekey, new Image(null, imgg.getImageData()));
 		}
 		return images.get(imagekey);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/AbstractSplashHandler2.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/AbstractSplashHandler2.java	(revision 2473)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/AbstractSplashHandler2.java	(revision 2474)
@@ -27,33 +27,77 @@
 //
 package org.txm.rcp;
 
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.splash.BasicSplashHandler;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.events.PaintEvent;
+import org.eclipse.swt.events.PaintListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.internal.splash.EclipseSplashHandler;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
 
-// TODO: Auto-generated Javadoc
-/**
- * SplashScreen for TXM: not used yet
- */
-public class AbstractSplashHandler2 extends BasicSplashHandler {
-
-	/**
-	 * Instantiates a new abstract splash handler2.
-	 */
-	public AbstractSplashHandler2() {
-		Composite c = this.getContent();
+//// TODO: Auto-generated Javadoc
+///**
+// * SplashScreen for TXM: not used yet
+// */
+//public class AbstractSplashHandler2 extends BasicSplashHandler {
+//
+//	/**
+//	 * Instantiates a new abstract splash handler2.
+//	 */
+//	public AbstractSplashHandler2() {
+//		Composite c = this.getContent();
 //		new Label(c, SWT.BORDER).setText(Messages.AbstractSplashHandler2_0);
 //		IProgressMonitor bundle = this.getBundleProgressMonitor();
 //		// .subTask("HELLLOOOOO");
 //		this.getBundleProgressMonitor().setTaskName(Messages.AbstractSplashHandler2_1);
 //		System.out.println(Messages.AbstractSplashHandler2_2);
-	}
+//	}
+//
+//	/**
+//	 * Hurler.
+//	 *
+//	 * @param message the message
+//	 */
+//	public static void hurler(String message) {
+//
+//	}
+//}
 
-	/**
-	 * Hurler.
-	 *
-	 * @param message the message
-	 */
-	public static void hurler(String message) {
-
+public class AbstractSplashHandler2 extends EclipseSplashHandler {
+	
+	private static final int BORDER = 10;
+	
+	private Image image;
+	
+	@Override
+	public void init(Shell splash) {
+		super.init(splash);
+		
+		// here you could check some condition on which decoration to show
+		
+		ImageDescriptor descriptor = IImageKeys.getImageDescriptor(IImageKeys.TXM);
+		if (descriptor != null) {
+			image = descriptor.createImage();
+		}
+		if (image != null) {
+			final int xposition = splash.getSize().x - image.getImageData().width - BORDER;
+			final int yposition = BORDER;
+			getContent().addPaintListener(new PaintListener() {
+				
+				@Override
+				public void paintControl(PaintEvent e) {
+					e.gc.drawImage(image, xposition, yposition);
+				}
+			});
+		}
 	}
+	
+	@Override
+	public void dispose() {
+		super.dispose();
+		if (image != null) {
+			image.dispose();
+		}
+	}
+	
 }
Index: tmp/org.txm.rcp/plugin.xml
===================================================================
--- tmp/org.txm.rcp/plugin.xml	(revision 2473)
+++ tmp/org.txm.rcp/plugin.xml	(revision 2474)
@@ -3116,11 +3116,11 @@
          point="org.eclipse.ui.splashHandlers">
       <splashHandler
             class="org.txm.rcp.AbstractSplashHandler2"
-            id="org.txm.rcp.splashHandler2">
+            id="org.txm.rcp.AbstractSplashHandler2">
       </splashHandler>
       <splashHandlerProductBinding
-            productId="org.txm.rcp.product"
-            splashId="org.txm.rcp.splash">
+            productId="org.txm.rcp.app"
+            splashId="org.txm.rcp.AbstractSplashHandler2">
       </splashHandlerProductBinding>
    </extension>
    <extension
