Konsole: CSI 2J: Do not append current screen to history

Summary:
This behavior is present in e.g. xterm and linux console.

Currently when using CSI 2J escape sequence, screen contents are
appended to scrollback (including bottom empty lines). This is breaking
`clear` command, which replaces scrollback with current screen contents.

BUG: 384218

Test Plan:
* Start Konsole with a shell
* `clear`

**Expected result:**
Cleared display, empty scrollback.
**Actual result:**
Cleared display, but scrollback contains previous display contents.

---

* Start Konsole with a shell
* seq 1000
* `echo -ne '\033[2J`

**Expected result:**
Cleared display, numbers in last scrollback lines.
**Actual result:**
Cleared display, but scrollback contains previous display contents
(i.e. shell prompt in last lines)

Reviewers: #konsole, hindenburg

Reviewed By: #konsole, hindenburg

Subscribers: hindenburg, konsole-devel, #konsole

Tags: #konsole

Differential Revision: https://phabricator.kde.org/D21282

Taken from KDE patches and adapted to TDE.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 838025df1c)
r14.0.x
Mariusz Glebocki 6 years ago committed by Slávek Banko
parent 6b3721d83a
commit af843540a0
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -1036,12 +1036,6 @@ void TEScreen::clearToBeginOfScreen()
void TEScreen::clearEntireScreen()
{
// Add entire screen to history
for (int i = 0; i < (lines-1); i++)
{
addHistLine(); scrollUp(0,1);
}
clearImage(loc(0,0),loc(columns-1,lines-1),' ');
}

Loading…
Cancel
Save