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()