From 72088dafec44764630ac676440a0ec7e525a767b Mon Sep 17 00:00:00 2001 From: Kirill Chibisov Date: Sat, 22 Jun 2019 02:00:01 +0300 Subject: [PATCH] Fix inconsitent cursor position when scrolling This commit fixes regression introduced in cfc20d4f34dca535654cc32df18e785296af4cc5. `self.cursor.line` forced the cursor to hold a fixed location while scrolling until its "original" location (usually the shell prompt) went off the screen. So cursor position should be keep updated, which can be achieved by using `self.inner.line()`. Fixes #2570. --- CHANGELOG.md | 1 + alacritty_terminal/src/term/mod.rs | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cceb5d0..6b75c48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - GUI programs launched by Alacritty starting in the background on X11 +- Text Cursor position when scrolling ## 0.3.3 diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs index 378b315..ee25727 100644 --- a/alacritty_terminal/src/term/mod.rs +++ b/alacritty_terminal/src/term/mod.rs @@ -436,7 +436,10 @@ impl<'a> Iterator for RenderableCellsIter<'a> { let cell = Indexed { inner: self.grid[self.cursor], column: self.cursor.col, - line: self.cursor.line, + // Using `self.cursor.line` leads to inconsitent cursor position when + // scrolling. See https://github.com/jwilm/alacritty/issues/2570 for more + // info. + line: self.inner.line(), }; let mut renderable_cell =