Bug 89625 [IDE] IDEWorkbenchWindowAdvisor refers to workbench internals for backdrop
3.1 M5 The code in IDEWorkbenchWindowAdvisor to provide the backdrop when all perspectives are closed refers to internal workbench classes: import org.eclipse.ui.internal.IWorkbenchGraphicConstants; import org.eclipse.ui.internal.WorkbenchImages; import org.eclipse.ui.internal.dialogs.SelectPerspectiveDialog; This should be done using only API.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchWindowAdvisor.java
if (workspaceLocation != null) {
            title = NLS.bind(IDEWorkbenchMessages.WorkbenchWindow_shellTitle, workspaceLocation, title);
        }
        IWorkbenchPage currentPage = window.getActivePage();
        if (currentPage != null) {
            IEditorPart editor = currentPage.getActiveEditor();
            if (editor != null) {
                String editorTitle = editor.getTitle();
                title = NLS.bind(IDEWorkbenchMessages.WorkbenchWindow_shellTitle, editorTitle, title);
            }
            IPerspectiveDescriptor persp = currentPage.getPerspective();
            String label = ""; 
            if (persp != null)
                label = persp.getLabel();
            IAdaptable input = currentPage.getInput();
            if (input != null && !input.equals(wbAdvisor.getDefaultPageInput())) {
                label = currentPage.getLabel();
            }
            if (label != null && !label.equals("")) {  
                title = NLS.bind(IDEWorkbenchMessages.WorkbenchWindow_shellTitle, label, title);
            }
        }
        configurer.setTitle(title);
    }
    
    /* (non-Javadoc)
     * @see org.eclipse.ui.application.WorkbenchAdvisor#postWindowRestore
     */
    public void postWindowRestore()
            throws WorkbenchException {