diff --git a/app/src/main/java/com/termux/terminal/TerminalEmulator.java b/app/src/main/java/com/termux/terminal/TerminalEmulator.java index 39f3fb81..8504e3d7 100644 --- a/app/src/main/java/com/termux/terminal/TerminalEmulator.java +++ b/app/src/main/java/com/termux/terminal/TerminalEmulator.java @@ -1229,6 +1229,11 @@ public final class TerminalEmulator { mScreen.blockSet(mRightMargin - 1, mTopMargin, 1, rows, ' ', TextStyle.encode(mForeColor, mBackColor, 0)); } break; + case 'c': // RIS - Reset to Initial State (http://vt100.net/docs/vt510-rm/RIS). + reset(); + blockClear(0, 0, mColumns, mRows); + setCursorPosition(0, 0); + break; case 'D': // INDEX doLinefeed(); break; diff --git a/app/src/test/java/com/termux/terminal/DecSetTest.java b/app/src/test/java/com/termux/terminal/DecSetTest.java index 5baf0808..9d4b5e26 100644 --- a/app/src/test/java/com/termux/terminal/DecSetTest.java +++ b/app/src/test/java/com/termux/terminal/DecSetTest.java @@ -28,6 +28,11 @@ public class DecSetTest extends TerminalTestCase { assertFalse(mTerminal.isShowingCursor()); mTerminal.reset(); assertTrue("Resetting the terminal should show the cursor", mTerminal.isShowingCursor()); + + enterString("\033[?25l"); + assertFalse(mTerminal.isShowingCursor()); + enterString("\033c"); // RIS resetting should reveal cursor. + assertTrue(mTerminal.isShowingCursor()); } /** DECSET 2004, controls bracketed paste mode. */