parent
a0f3bea38e
commit
319e18ed41
@ -1,5 +1,7 @@
|
||||
package com.offsec.nhterm.backend;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* A circular buffer of {@link TerminalRow}:s which keeps notes about what is visible on a logical screen and the scroll
|
||||
* history.
|
||||
@ -432,4 +434,13 @@ public final class TerminalBuffer {
|
||||
}
|
||||
}
|
||||
|
||||
public void clearTranscript() {
|
||||
if (mScreenFirstRow < mActiveTranscriptRows) {
|
||||
Arrays.fill(mLines, mTotalRows + mScreenFirstRow - mActiveTranscriptRows, mTotalRows, null);
|
||||
Arrays.fill(mLines, 0, mScreenFirstRow, null);
|
||||
} else {
|
||||
Arrays.fill(mLines, mScreenFirstRow - mActiveTranscriptRows, mScreenFirstRow, null);
|
||||
}
|
||||
mActiveTranscriptRows = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1372,6 +1372,7 @@ public final class TerminalEmulator {
|
||||
break;
|
||||
case 'c': // RIS - Reset to Initial State (http://vt100.net/docs/vt510-rm/RIS).
|
||||
reset();
|
||||
mMainBuffer.clearTranscript();
|
||||
blockClear(0, 0, mColumns, mRows);
|
||||
setCursorPosition(0, 0);
|
||||
break;
|
||||
@ -1530,6 +1531,9 @@ public final class TerminalEmulator {
|
||||
// move..
|
||||
blockClear(0, 0, mColumns, mRows);
|
||||
break;
|
||||
case 3: // Delete all lines saved in the scrollback buffer (xterm etc)
|
||||
mMainBuffer.clearTranscript();
|
||||
break;
|
||||
default:
|
||||
unknownSequence(b);
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user