Bug 54915 [RCP] Need the ability to launch/load the Workbench without showing any windows
We need the ability to start up the Workbench without actually showing any WorkbenchWindows. The idea here is that is a significant gain in performance in doing this. WorkbenchWindows are created and brought to the front when requested by the user. With the Workbench running in the background the perceived load time experience should be much better than it is today. This is critical for LWP.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
import org.eclipse.ui.part.EditorInputTransfer;
import org.eclipse.ui.part.MarkerTransfer;
import org.eclipse.ui.part.ResourceTransfer;
import org.eclipse.ui.internal.AboutInfo;
import org.eclipse.ui.internal.IPreferenceConstants;
import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
import org.eclipse.ui.internal.WorkbenchPlugin;
import org.eclipse.ui.internal.ide.dialogs.MessageDialogWithToggle;
import org.eclipse.ui.internal.ide.dialogs.WelcomeEditorInput;
import org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder;
import org.eclipse.update.core.SiteManager;
/**
 * IDE-specified workbench advisor which configures the workbench for use as
 * an IDE.
 * <p>
 * Note: This class replaces <code>org.eclipse.ui.internal.Workbench</code>.
 * </p>
 * 
 * @since 3.0
 */
public class IDEWorkbenchAdvisor extends WorkbenchAdvisor {
	private static final String ACTION_BUILDER = "ActionBuilder"; 
	private static final String WELCOME_EDITOR_ID = "org.eclipse.ui.internal.ide.dialogs.WelcomeEditor"; 
	private static final String WORKBENCH_PREFERENCE_CATEGORY_ID = "org.eclipse.ui.preferencePages.Workbench"; 
	/**
	 * The dialog setting key to access the known installed features
	 * since the last time the workbench was run.
	 */
	private static final String INSTALLED_FEATURES = "installedFeatures";