diff options
author | Egmont Koblinger <egmont@gmail.com> | 2014-12-01 13:27:26 +0100 |
---|---|---|
committer | Egmont Koblinger <egmont@gmail.com> | 2014-12-01 13:27:26 +0100 |
commit | 916964eb67e230f1aa9204623944745370eb771e (patch) | |
tree | d3940121203130b0a0d5804b9461bc1a0baa0dc0 | |
parent | fc9dcbba2e875e44e646287f8551a89297021a11 (diff) | |
download | vte-916964eb67e230f1aa9204623944745370eb771e.tar.gz |
emulation: Modify erase-in-line when cursor is beyond the last column
Don't move the cursor back to the last column. This intentially deviates
from xterm because makes more sense and fixes utilities such as grep.
https://bugzilla.gnome.org/show_bug.cgi?id=740789
-rw-r--r-- | src/vteseq.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/vteseq.c b/src/vteseq.c index 34b940a8..5fc63580 100644 --- a/src/vteseq.c +++ b/src/vteseq.c @@ -1167,7 +1167,13 @@ _vte_sequence_handler_ce (VteTerminal *terminal, GValueArray *params) { VteRowData *rowdata; - _vte_terminal_ensure_cursor_is_onscreen(terminal); + /* If we were to strictly emulate xterm, we'd ensure the cursor is onscreen. + * But due to https://bugzilla.gnome.org/show_bug.cgi?id=740789 we intentionally + * deviate and do instead what konsole does. This way emitting a \e[K doesn't + * influence the text flow, and serves as a perfect workaround against a new line + * getting painted with the active background color (except for a possible flicker). + */ + /* _vte_terminal_ensure_cursor_is_onscreen(terminal); */ /* Get the data for the row which the cursor points to. */ rowdata = _vte_terminal_ensure_row(terminal); |