#71 added dev standards to wiki
[fanfix.git] / README.md

Jexer - Java Text User Interface library

This library implements a text-based windowing system loosely reminiscent of Borland’s Turbo Vision system. It looks like this:

Terminal, Image, Table

Jexer works on both Xterm-like terminals and Swing, and supports images in both Xterm and Swing. On Swing, images are true color:

Swing Snake Image

On Xterm, images are dithered to a common palette:

Xterm Snake Image

License

Jexer is available to all under the MIT License. See the file LICENSE for the full license text.

Obtaining Jexer

Jexer is available on Maven Central:

xml <dependency> <groupId>com.gitlab.klamonte</groupId> <artifactId>jexer</artifactId> <version>0.3.2</version> </dependency>

Binary releases are available on SourceForge: https://sourceforge.net/projects/jexer/files/jexer/

The Jexer source code is hosted at: https://gitlab.com/klamonte/jexer

1.0.0 Release Coming Soon

Jexer’s original list of features for its 1.0.0 release are undergoing final testing. If you know of a bug or key feature missing, please consider opening an issue here.

Documentation

Programming Examples

The examples/ folder currently contains:

jexer.demos contains official demos showing all of the existing UI controls. The demos can be run as follows:

More Screenshots

Jexer can be run inside its own terminal window, with support for all of its features including images and mouse, and more terminals:

Yo Dawg...

Sixel output uses a single palette which works OK for a variety of real-world images:

Sixel Pictures Of Cliffs Of Moher And Buoy

The color wheel with that palette is shown below:

Sixel Color Wheel

Terminal Support

The table below lists terminals tested against Jexer’s Xterm backend:

Terminal Environment Mouse Click Mouse Cursor Images
xterm X11 yes yes yes
jexer CLI, X11, Windows yes yes yes
mlterm X11 yes yes yes
RLogin Windows yes yes yes
alacritty(3) X11 yes yes no
gnome-terminal X11 yes yes no
iTerm2 Mac yes yes no(5)
kitty(3) X11 yes yes no
lcxterm(3) CLI, Linux console yes yes no
mintty Windows yes yes no(5)
rxvt-unicode X11 yes yes no(2)
xfce4-terminal X11 yes yes no
aminal(3) X11 yes no no
konsole X11 yes no no
yakuake X11 yes no no
Windows Terminal(6) Windows no no no(2)
screen CLI yes(1) yes(1) no(2)
tmux CLI yes(1) yes(1) no
putty X11, Windows yes no no(2)
Linux Linux console no no no(2)
qodem(3) CLI, Linux console yes yes(4) no
qodem-x11(3) X11 yes no no
yaft Linux console (FB) no no yes

1 - Requires mouse support from host terminal.

2 - Also fails to filter out sixel data, leaving garbage on screen.

3 - Latest in repository.

4 - Requires TERM=xterm-1003 before starting.

5 - Sixel images can crash terminal.

6 - Version 0.7.3291.0, on Windows 10.0.18362.30. Tested against WSL-1 Debian instance.

See Also

Acknowledgements

Jexer makes use of the Terminus TrueType font made available here .