From 4ffee765d653c9aec87236f6ec6baeb256e81648 Mon Sep 17 00:00:00 2001 From: Denys Almazov <24419842+sigmaaa@users.noreply.github.com> Date: Mon, 9 Feb 2026 18:54:38 +0200 Subject: [PATCH 1/2] fix: attemp to fix welcome page with showIntro --- .../espressif/idf/ui/tools/EspressifToolStartup.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java b/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java index 9874bb8d9..247aeddbe 100644 --- a/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java +++ b/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java @@ -25,8 +25,10 @@ import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.console.MessageConsoleStream; import org.eclipse.ui.ide.IDE; +import org.eclipse.ui.intro.IIntroPart; import org.osgi.service.prefs.Preferences; import com.espressif.idf.core.IDFEnvironmentVariables; @@ -37,6 +39,7 @@ import com.espressif.idf.core.tools.EimLoader; import com.espressif.idf.core.tools.ToolInitializer; import com.espressif.idf.core.tools.exceptions.EimVersionMismatchException; +import com.espressif.idf.core.tools.launch.LaunchResult; import com.espressif.idf.core.tools.vo.EimJson; import com.espressif.idf.core.tools.watcher.EimJsonWatchService; import com.espressif.idf.core.util.IDFUtil; @@ -49,8 +52,6 @@ import com.espressif.idf.ui.tools.manager.EimEditorInput; import com.espressif.idf.ui.tools.watcher.EimJsonUiChangeHandler; -import com.espressif.idf.core.tools.launch.LaunchResult; - /** * Startup class to handle the tools * @@ -71,6 +72,13 @@ public class EspressifToolStartup implements IStartup @Override public void earlyStartup() { + IIntroPart introPart = PlatformUI.getWorkbench().getIntroManager().getIntro(); + + if (introPart != null) + { + PlatformUI.getWorkbench().getIntroManager().showIntro(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), + false); + } preferences = org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE.getNode(UIPlugin.PLUGIN_ID); toolInitializer = new ToolInitializer(preferences); standardConsoleStream = getConsoleStream(false); From 27c8c514229b2e3b4d527be2bc58df40f92aa5b9 Mon Sep 17 00:00:00 2001 From: Denys Almazov <24419842+sigmaaa@users.noreply.github.com> Date: Mon, 9 Feb 2026 19:53:17 +0200 Subject: [PATCH 2/2] fix: adding close and reopen logic --- .../idf/ui/tools/EspressifToolStartup.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java b/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java index 247aeddbe..16f1afdf5 100644 --- a/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java +++ b/bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/EspressifToolStartup.java @@ -72,13 +72,7 @@ public class EspressifToolStartup implements IStartup @Override public void earlyStartup() { - IIntroPart introPart = PlatformUI.getWorkbench().getIntroManager().getIntro(); - - if (introPart != null) - { - PlatformUI.getWorkbench().getIntroManager().showIntro(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), - false); - } + restoreIntroPage(); preferences = org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE.getNode(UIPlugin.PLUGIN_ID); toolInitializer = new ToolInitializer(preferences); standardConsoleStream = getConsoleStream(false); @@ -136,6 +130,20 @@ else if (toolInitializer.isEimIdfJsonPresent() && !toolInitializer.isEspIdfSet() } + private void restoreIntroPage() + { + Display.getDefault().asyncExec(() -> { + IIntroPart introPart = PlatformUI.getWorkbench().getIntroManager().getIntro(); + + if (introPart != null) + { + PlatformUI.getWorkbench().getIntroManager().closeIntro(introPart); + PlatformUI.getWorkbench().getIntroManager() + .showIntro(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), false); + } + }); + } + private boolean checkIfEimPathMacOsIsInApplications() { if (!Platform.getOS().equals(Platform.OS_MACOSX))