Skip to content

Commit c6cfe2e

Browse files
committed
Add 'foot' as tested, remove DECSDM from "bugs" list
Plus miscellaneous cleanup.
1 parent 9aac544 commit c6cfe2e

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

README.md

+21-18
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,12 @@ to your `.Xresources` file and run `xrdb -merge .Xresources`.
117117

118118
Further, some distributions, such as Fedora, appear to not compile `xterm`
119119
with sixel support. In that case, try an alternate terminal, such as
120-
`mlterm`.
120+
`foot` or `mlterm`.
121121

122122
### SIXEL compatible terminals
123123

124124
* XTerm (tested)
125+
* foot (tested)
125126
* MLterm (tested)
126127
* iTerm2 for Apple MacOS (tested)
127128
* WSLtty for Microsoft Windows (reported)
@@ -130,7 +131,7 @@ with sixel support. In that case, try an alternate terminal, such as
130131

131132
### SIXEL incompatible terminals
132133

133-
* MacOS Terminal, alacritty, kitty(?)
134+
* MacOS Terminal, alacritty, kitty
134135
* All libvte based terminals
135136
* gnome-terminal
136137
* terminator
@@ -218,11 +219,11 @@ GitHub.
218219
WindowOps extension but it is not quite the right solution as the
219220
geometry of the Sixel graphics screen is not necessarily the same as
220221
the window size. (For example, xterm limits the graphics geometry to
221-
1000x1000, even though the window can actually be larger.)
222+
1000x1000, even though the window can actually be larger.) To help
223+
with terminals such as mlterm, `lsix` will use the dtterm WindowOps
224+
as a fallback.
222225

223-
For now, if your terminal can handle it, `lsix` will use the dtterm
224-
WindowOps to read your window size, but the chances of that working
225-
are slim. For most people `lsix` will assume you are on a VT340
226+
If neither solution works, `lsix` will assume you are on a VT340
226227
(800x480) and can fit only 6 tiles per row.
227228

228229
* The Sixel standard also lacks a way to query the number of
@@ -232,16 +233,6 @@ GitHub.
232233
uses only 16 color registers. (Sorry, 4-gray vt330 users! Time to
233234
upgrade. ;-) )
234235

235-
* mlterm (at least as of version 3.5.0) has a bug where it reverses
236-
the sense of the sixel scrolling control sequence.
237-
238-
Possibly this is an attempt to simulate the VT240 hardware terminal
239-
which did not scroll sixels. However, that behavior is considered
240-
"deviant" according to the standard. (See [DEC STD
241-
070](https://archive.org/details/bitsavers_decstandar0VideoSystemsReferenceManualDec91_74264381), chapter 9, section 12.1, Deviations.)
242-
Lsix works around it for now by detecting `TERM=mlterm`, but we should
243-
watch out for the mlterm team to eventually fix it.
244-
245236
* [libsixel](https://github.com/saitoha/libsixel) is an excellent
246237
project for writing programs that can output optimized Sixel
247238
graphics commands. Because I have a lot of respect for the project,
@@ -268,7 +259,19 @@ GitHub.
268259
* [XTerm Control Sequences](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html)
269260
* [ImageMagick](https://imagemagick.org/)
270261
* [VT340 Programmer's Reference](https://vt100.net/docs/vt3xx-gp/):
271-
* [Chapter 14](https://vt100.net/docs/vt3xx-gp/chapter14.html). Sixels.
262+
* [Chapter 14](https://vt100.net/docs/vt3xx-gp/chapter14.html). Sixel Graphics.
272263
* [Chapter 16](https://vt100.net/docs/vt3xx-gp/chapter16.html#S16.3) Difference between Level 1 and Level 2 Sixel implementations.
264+
265+
_Nota bene: this reference has the sense for DECSDM (sixel
266+
display mode) reversed! The actual behaviour of the VT340 is
267+
that when DECSDM is reset (the default), sixel scrolling is enabled.
268+
This can be done by sending _`Esc[?80l`_, but lsix does not do
269+
so as it would break many current terminal emulators.
270+
See issue #41 for details._
271+
273272
* [DEC STD 070 Video Systems Reference Manual](https://archive.org/details/bitsavers_decstandar0VideoSystemsReferenceManualDec91_74264381).
274-
A weighty tome which covers everything in exacting detail. I referred mostly to sections 4 (escape sequences) and 9 (sixel programming).
273+
A weighty tome which covers nearly everything in exacting detail. I referred mostly to sections 4 (escape sequences) and 9 (sixel programming).
274+
275+
* [VT340 Test](https://github.com/hackerb9/vt340test), a project to document the actual behaviour of the DEC VT340 hardware.
276+
277+
* [Digital ANSI-Compliant Printing Protocol: Level 2 Programming Reference Manual](http://www.vaxhaven.com/images/f/f7/EK-PPLV2-PM-B01.pdf), Chapter 5: Sixel Graphics. An excellent and reasonably clear discussion for anyone who wants to generate or parse sixel graphics.

0 commit comments

Comments
 (0)