diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalArrangementManager.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalArrangementManager.java index 0ef822d2e1f2..b010079f2f84 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalArrangementManager.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalArrangementManager.java @@ -3,6 +3,7 @@ package org.jetbrains.plugins.terminal; import com.intellij.openapi.components.*; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.registry.Registry; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -31,7 +32,7 @@ public class TerminalArrangementManager implements PersistentStateComponent states = state != null ? state.myTabStates : null; + List states = arrangementState != null ? arrangementState.myTabStates : null; if (ContainerUtil.isEmpty(states)) { newTab(null); } @@ -103,23 +101,21 @@ public class TerminalView { for (TerminalTabState tabState : states) { createNewSession(myTerminalRunner, tabState); } + ContentManager contentManager = toolWindow.getContentManager(); + Content content = contentManager.getContent(arrangementState.mySelectedTabIndex); + if (content != null) { + contentManager.setSelectedContent(content); + } } myProject.getMessageBus().connect().subscribe(ToolWindowManagerListener.TOPIC, new ToolWindowManagerListener() { @Override public void stateChanged() { - ToolWindow window = ToolWindowManager.getInstance(myProject).getToolWindow(TerminalToolWindowFactory.TOOL_WINDOW_ID); - if (window != null) { - boolean visible = window.isVisible(); - if (visible) { - if (myToolWindow.getContentManager().getContentCount() == 0) { - initTerminal(window); - } - else if (myFileToOpen != null) { - //myTerminalRunner.openSessionForFile(myTerminalWidget, myFileToOpen); - } - myFileToOpen = null; + if (toolWindow.isVisible()) { + if (myToolWindow.getContentManager().getContentCount() == 0) { + initTerminal(toolWindow, null); } + myFileToOpen = null; } } });