in core/src/com/jediterm/terminal/model/TerminalTextBuffer.kt [394:425]
fun useAlternateBuffer(enabled: Boolean) {
alternateBuffer = enabled
if (enabled) {
if (!isUsingAlternateBuffer) {
screenLinesStorageBackup = screenLinesStorage
historyLinesStorageBackup = historyLinesStorage
screenLinesStorage = createScreenLinesStorage()
historyLinesStorage = createHistoryLinesStorage()
screenBufferBackup = screenBuffer
historyBufferBackup = historyBuffer
screenBuffer = createLinesBuffer(screenLinesStorage)
historyBuffer = createLinesBuffer(historyLinesStorage)
isUsingAlternateBuffer = true
}
}
else {
if (isUsingAlternateBuffer) {
screenLinesStorage = screenLinesStorageBackup!!
historyLinesStorage = historyLinesStorageBackup!!
screenLinesStorageBackup = createScreenLinesStorage()
historyLinesStorageBackup = createHistoryLinesStorage()
screenBuffer = screenBufferBackup!!
historyBuffer = historyBufferBackup!!
screenBufferBackup = createLinesBuffer(screenLinesStorageBackup!!)
historyBufferBackup = createLinesBuffer(historyLinesStorageBackup!!)
isUsingAlternateBuffer = false
}
}
fireModelChangeEvent()
}