Jexer Image Protocol Discussion

This issue is for general discussion of the Jexer image protocol documented here.

Goals

Jexer's primary goal as a project is to expose the capabilities of stock xterm to applications. If a way to achieve its aims exists in xterm's defined sequences, then Jexer will use that. But since xterm does not provide a non-palettized 24-bit bitmap image format, this design seeks to align most closely with the functions xterm already does have. Therefore:

  • Once the image has been decoded into a bitmap, place that bitmap on screen exactly as already done for sixel, and move the cursor in a way that is already supported by sixel.

  • Provide a way for an application to put pixel data on screen without requiring a third-party image library.

  • Add no new flags to the parser state machine.

  • Announcement of this feature implies only this single feature.

With the goals above, it is hoped that this protocol (or one informed by it) could someday be adopted by xterm itself and ncurses.

Edited by Autumn Lamonte