From 4d4e19e450ee612ad4d05447e625eb646932b0a0 Mon Sep 17 00:00:00 2001 From: Sergei Tachenov Date: Wed, 23 Apr 2025 17:15:12 +0300 Subject: [PATCH] IJPL-184075 Resize the terminal relative to the bottom-left corner GitOrigin-RevId: 12dbcb528c511b72de239376071cce2b9e71005e --- .../terminal/frontend/ReworkedTerminalView.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/terminal/frontend/src/com/intellij/terminal/frontend/ReworkedTerminalView.kt b/plugins/terminal/frontend/src/com/intellij/terminal/frontend/ReworkedTerminalView.kt index 67f649438b3f..b6bec295cf89 100644 --- a/plugins/terminal/frontend/src/com/intellij/terminal/frontend/ReworkedTerminalView.kt +++ b/plugins/terminal/frontend/src/com/intellij/terminal/frontend/ReworkedTerminalView.kt @@ -52,6 +52,7 @@ import org.jetbrains.plugins.terminal.fus.TerminalStartupFusInfo import org.jetbrains.plugins.terminal.util.terminalProjectScope import java.awt.Component import java.awt.Dimension +import java.awt.Point import java.awt.event.* import java.util.concurrent.CompletableFuture import javax.swing.JComponent @@ -392,7 +393,7 @@ internal class ReworkedTerminalView( TerminalFontSizeProviderImpl.getInstance().addListener(parentDisposable, object : TerminalFontSizeProvider.Listener { override fun fontChanged() { - result.setFontSize(TerminalFontSizeProviderImpl.getInstance().getFontSize()) + result.setFontSize(TerminalFontSizeProviderImpl.getInstance().getFontSize(), result.bottomLeftCornerOrNull()) result.resizeIfShowing() } }) @@ -400,6 +401,14 @@ internal class ReworkedTerminalView( return result } + private fun EditorImpl.bottomLeftCornerOrNull(): Point? = + if (component.isShowing) { + Point(0, scrollingModel.visibleArea.height) + } + else { + null + } + private fun EditorImpl.resizeIfShowing() { if (component.isShowing) { // to avoid sending the resize event twice, for the regular and alternate buffer editors sendResizeEvent()