mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-21 05:33:45 -04:00
sixel: fix cursor positioning logic
This adjusts the logic that positions the text cursor after emitting a sixel, when sixel scrolling mode is *enabled*. We’ve always mimicked XTerm’s behavior. However, XTerm recently changed its behavior, to better match that of an VT382. Now, the cursor is placed *on* the last row of the sixel, instead of on a new row after the sixel. This allows applications to print sixels to the bottom row of the terminal, without causing the content to scroll. Finally, there was a bug in the horizontal positioning of the cursor; it was placed on the *first* column of the row, instead of on the first column of the sixel.
This commit is contained in:
parent
8a3620bafa
commit
66d9b8da60
2 changed files with 26 additions and 20 deletions
|
|
@ -65,6 +65,15 @@
|
|||
* Opaque sixels now retain the background opacity (when current
|
||||
background color is the **default** background color)
|
||||
([#1360][1360]).
|
||||
* Text cursor’s vertical position after emitting a sixel, when sixel
|
||||
scrolling is **enabled** (the default) has been updated to match
|
||||
XTerm’s, and the VT382’s behavior: the cursor is positioned **on**
|
||||
the last sixel row, rather than _after_ it. This allows printing
|
||||
sixels on the last row without scrolling up, but also means
|
||||
applications may have to explicitly emit a newline to ensure the
|
||||
sixel is visible. For example, `cat`:ing a sixel in the shell will
|
||||
typically result in the last row not being visible, unless a newline
|
||||
is explicitly added.
|
||||
|
||||
[1371]: https://codeberg.org/dnkl/foot/pulls/1371
|
||||
[1360]: https://codeberg.org/dnkl/foot/issues/1360
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue