From d249e5da5ab900b2650a28b5f020d9031dce546f Mon Sep 17 00:00:00 2001 From: hstyi Date: Thu, 31 Jul 2025 16:50:55 +0800 Subject: [PATCH] fix: XTerm Set Scrolling Region --- .../terminal/ControlSequenceIntroducerProcessor.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt b/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt index 4f3c18a..a125dda 100644 --- a/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt +++ b/src/main/kotlin/app/termora/terminal/ControlSequenceIntroducerProcessor.kt @@ -332,15 +332,16 @@ class ControlSequenceIntroducerProcessor(terminal: Terminal, reader: TerminalRea var top = sr.getOrElse(0) { 1 } var bottom = sr.getOrElse(1) { terminalModel.getRows() } - if (bottom <= top || top < 1) { + if (bottom <= top) { if (log.isWarnEnabled) { log.warn("Set Scrolling Region Error. top: $top , bottom: $bottom") } - - top = 1 - bottom = terminalModel.getRows() } + top = max(1, top) + bottom = min(terminalModel.getRows(), bottom) + + // 设置滚动区域 terminal.getTerminalModel().setData( DataKey.ScrollingRegion,