diff --git a/terminal/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.sdk-feature/pom.xml
index ecd392b958f..ea81b3f2faf 100644
--- a/terminal/features/org.eclipse.tm.terminal.sdk-feature/pom.xml
+++ b/terminal/features/org.eclipse.tm.terminal.sdk-feature/pom.xml
@@ -10,6 +10,6 @@
org.eclipse.tm.features
org.eclipse.tm.terminal.sdk
- 3.3.200.qualifier
+ 3.3.300.qualifier
eclipse-feature
diff --git a/terminal/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF
index f521127708c..a97d4700d2c 100644
--- a/terminal/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF
+++ b/terminal/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true
-Bundle-Version: 3.2.200.qualifier
+Bundle-Version: 3.2.300.qualifier
Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/terminal/plugins/org.eclipse.tm.terminal/pom.xml b/terminal/plugins/org.eclipse.tm.terminal/pom.xml
index 6c2964316db..4af47f5b8d3 100644
--- a/terminal/plugins/org.eclipse.tm.terminal/pom.xml
+++ b/terminal/plugins/org.eclipse.tm.terminal/pom.xml
@@ -10,6 +10,6 @@
org.eclipse.tm
org.eclipse.tm.terminal
- 3.2.200.qualifier
+ 3.2.300.qualifier
eclipse-plugin
diff --git a/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java
index c3ea7015d7a..45599fb128b 100644
--- a/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java
+++ b/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java
@@ -128,6 +128,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
private ITerminalConnector fConnector;
private final ITerminalConnector[] fConnectors;
private final boolean fUseCommonPrefs;
+ private boolean connectOnEnterIfClosed = true;
PipedInputStream fInputStream;
private static final String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding();
@@ -868,7 +869,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
char character = event.character;
//if (!isConnected()) {
- if (fState==TerminalState.CLOSED) {
+ if (fState==TerminalState.CLOSED && isConnectOnEnterIfClosed()) {
// Pressing ENTER while not connected causes us to connect.
if (character == '\r') {
connectTerminal();
@@ -1157,4 +1158,20 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
public void setInvertedColors(boolean invert) {
fCtlText.setInvertedColors(invert);
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setConnectOnEnterIfClosed(boolean)
+ */
+ public final void setConnectOnEnterIfClosed(boolean on) {
+ connectOnEnterIfClosed = on;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnectOnEnterIfClosed()
+ */
+ public final boolean isConnectOnEnterIfClosed() {
+ return connectOnEnterIfClosed;
+ }
+
+
}
diff --git a/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java
index 36777d6b25e..bf91af569e2 100644
--- a/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java
+++ b/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java
@@ -123,4 +123,21 @@ public interface ITerminalControl {
*/
void setMsg(String msg);
+ /**
+ * Sets if or if not the terminal view control should try to reconnect
+ * the terminal connection if the user hits ENTER in a closed terminal.
+ *
+ * Reconnect on ENTER if terminal is closed is enabled by default.
+ *
+ * @param on True
to enable the reconnect, false
to disable it.
+ */
+ void setConnectOnEnterIfClosed(boolean on);
+
+ /**
+ * Returns if or if not the terminal view control should try to reconnect
+ * the terminal connection if the user hits ENTER in a closed terminal.
+ *
+ * @return True
the reconnect is enabled, false
if disabled.
+ */
+ boolean isConnectOnEnterIfClosed();
}