fix: xterm ScrollRegion

This commit is contained in:
hstyi
2025-07-10 09:52:14 +08:00
committed by hstyi
parent 7310211fba
commit 728f1f2802

View File

@@ -342,7 +342,10 @@ class ControlSequenceIntroducerProcessor(terminal: Terminal, reader: TerminalRea
}
// 设置滚动区域
terminal.getTerminalModel().setData(DataKey.ScrollingRegion, ScrollingRegion(top, bottom))
terminal.getTerminalModel().setData(
DataKey.ScrollingRegion,
ScrollingRegion(top, min(bottom, terminalModel.getRows()))
)
if (log.isDebugEnabled) {
log.debug("Set Scrolling Region [${top}; ${bottom}]")
@@ -715,6 +718,13 @@ class ControlSequenceIntroducerProcessor(terminal: Terminal, reader: TerminalRea
}
}
// Alternate Screen Buffer
47, 1047 -> {
// clear selection
terminal.getSelectionModel().clearSelection()
terminalModel.setData(DataKey.AlternateScreenBuffer, enable)
}
// Alternate Screen Buffer
// https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-The-Alternate-Screen-Buffer
1049 -> {