From bbc64043ed66957a92e4bee7d835967dc8f9cb56 Mon Sep 17 00:00:00 2001 From: hstyi Date: Mon, 8 Dec 2025 14:56:15 +0800 Subject: [PATCH] fix: correct scrolling region handling in ControlSequenceIntroducerProcessor --- .../termora/terminal/ControlSequenceIntroducerProcessor.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt b/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt index 3954743..6b8cf9a 100644 --- a/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt +++ b/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt @@ -332,6 +332,12 @@ class ControlSequenceIntroducerProcessor(terminal: Terminal, reader: TerminalRea var top = sr.getOrElse(0) { 1 } var bottom = sr.getOrElse(1) { terminalModel.getRows() } + // ";r" https://vt100.net/docs/vt510-rm/DECSTBM.html + if (sr.size == 1 && args.startsWith(';')) { + bottom = top + top = 1 + } + if (bottom <= top) { if (log.isWarnEnabled) { log.warn("Set Scrolling Region Error. top: $top , bottom: $bottom")