diff --git a/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 4f8e1364d5a..76c40883f99 100644 --- a/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/terminal/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -28,7 +28,6 @@ package org.eclipse.tm.internal.terminal.emulator; import java.io.IOException; -import java.io.OutputStreamWriter; import java.io.Reader; import org.eclipse.swt.events.ControlEvent; @@ -1321,6 +1320,8 @@ public class VT100Emulator implements ControlListener { public void resetState() { ansiState=ANSISTATE_INITIAL; text.setStyle(text.getDefaultStyle()); + text.setScrollRegion(-1, -1); + text.setInsertMode(false); } // public OutputStream getOutputStream() { 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 28bf1505a05..523779630dd 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 @@ -48,6 +48,7 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.net.SocketException; +import java.nio.charset.Charset; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.ParameterizedCommand; @@ -144,7 +145,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private boolean connectOnEnterIfClosed = true; PipedInputStream fInputStream; - private static final String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); + private static final String defaultEncoding = Charset.defaultCharset().name(); private String fEncoding = defaultEncoding; private InputStreamReader fInputStreamReader; @@ -398,6 +399,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if(getTerminalConnector()==null) return; fTerminalText.resetState(); + fApplicationCursorKeys = false; if(fConnector.getInitializationErrorMessage()!=null) { showErrorMessage(NLS.bind( TerminalMessages.CannotConnectTo, @@ -467,8 +469,6 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (getCtlText().isFocusControl()) { if (getState() == TerminalState.CONNECTED) fFocusListener.captureKeyEvents(true); - } else { - getCtlText().setFocus(); } startReaderJob(); }