From 480e40198bc149ec703b5ed2f0f9849c67e47afb Mon Sep 17 00:00:00 2001 From: Sougandh S Date: Sat, 18 Jul 2026 05:59:54 +0530 Subject: [PATCH] Bold Debug view tab on new launch when not focused When a new launch is added while the Debug view is not the active part, make the view tab label bold so the user notices the new launch. --- .../internal/ui/views/launch/LaunchView.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java index 1db528f869f..936b420e4fb 100644 --- a/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java +++ b/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java @@ -38,6 +38,7 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchListener; import org.eclipse.debug.core.commands.IRestartHandler; import org.eclipse.debug.core.model.IDebugTarget; import org.eclipse.debug.core.model.IProcess; @@ -143,7 +144,8 @@ public class LaunchView extends AbstractDebugView implements ISelectionChangedListener, IPerspectiveListener2, IPageListener, IShowInTarget, IShowInSource, - IShowInTargetList, IPartListener2, IViewerUpdateListener, IContextManagerListener, IModelChangedListener + IShowInTargetList, IPartListener2, IViewerUpdateListener, IContextManagerListener, IModelChangedListener, + ILaunchListener { public static final String ID_CONTEXT_ACTIVITY_BINDINGS = "contextActivityBindings"; //$NON-NLS-1$ @@ -883,6 +885,7 @@ private void commonInit(IViewSite site) { site.getPage().addPartListener((IPartListener2) this); site.getWorkbenchWindow().addPageListener(this); site.getWorkbenchWindow().addPerspectiveListener(this); + DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this); } private void preferenceInit(IViewSite site) { @@ -1058,6 +1061,7 @@ public void setDebugToolbarInView(boolean show) { @Override public void dispose() { + DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this); fContextService.removeContextManagerListener(this); getSite().getSelectionProvider().removeSelectionChangedListener(this); DebugUITools.getDebugContextManager().getContextService(getSite().getWorkbenchWindow()).removeDebugContextProvider(fContextProviderProxy); @@ -1398,6 +1402,22 @@ public void partHidden(IWorkbenchPartReference partRef) { public void partInputChanged(IWorkbenchPartReference partRef) { } + @Override + public void launchAdded(ILaunch launch) { + IWorkbenchSiteProgressService progressService = getSite().getAdapter(IWorkbenchSiteProgressService.class); + if (progressService != null) { + progressService.warnOfContentChange(); + } + } + + @Override + public void launchChanged(ILaunch launch) { + } + + @Override + public void launchRemoved(ILaunch launch) { + } + @Override protected void becomesVisible() { super.becomesVisible();