for the full license text.
+Maven
+-----
+
+Jexer is available on Maven Central:
+
+```xml
+<dependency>
+ <groupId>com.gitlab.klamonte</groupId>
+ <artifactId>jexer</artifactId>
+ <version>0.3.0</version>
+</dependency>
+```
+
+
Acknowledgements
----------------
new MyWindow(this);
}
- public static void main(String [] args) {
- try {
- MyApplication app = new MyApplication();
- (new Thread(app)).start();
- } catch (Throwable t) {
- t.printStackTrace();
- }
+ public static void main(String [] args) throws Exception {
+ MyApplication app = new MyApplication();
+ (new Thread(app)).start();
}
}
```
![The Example Code Above](/screenshots/readme_application.png?raw=true "The application in the text of README.md")
-See the files in jexer.demos for many more detailed examples showing
-all of the existing UI controls. The available demos can be run as
-follows:
+
+
+More Examples
+-------------
+
+The examples/ folder currently contains:
+
+ * A [prototype tiling window
+ manager](/examples/JexerTilingWindowManager.java) in less than 250
+ lines of code.
+
+ * A [prototype image thumbnail
+ viewer](/examples/JexerImageViewer.java) in less than 350 lines of
+ code.
+
+jexer.demos contains official demos showing all of the existing UI
+controls. The demos can be run as follows:
* 'java -jar jexer.jar' . This will use System.in/out with
xterm-like sequences on non-Windows non-Mac platforms. On Windows
* 'java -cp jexer.jar jexer.demos.Demo5' . This demonstrates two
demo applications using different fonts in the same Swing frame.
- * 'java -cp jexer.jar jexer.demos.Demo6' . This demonstrates one
- application performing I/O to two screens: an xterm screen and a
- Swing screen.
+ * 'java -cp jexer.jar jexer.demos.Demo6' . This demonstrates two
+ applications performing I/O across three screens: an xterm screen
+ and Swing screen, monitored from a third Swing screen.
![Sixel Color Wheel](/screenshots/sixel_color_wheel.png?raw=true "Sixel Color Wheel")
+Terminal Support
+----------------
+
+The table below lists terminals tested against Jexer's ECMA48/Xterm
+backend.
+
+| Terminal | Environment | Mouse Click | Mouse Cursor | Images |
+| -------------- | ------------------ | ----------- | ------------ | ------ |
+| xterm | X11 | yes | yes | yes |
+| lcxterm(3) | CLI, Linux console | yes | yes | no |
+| rxvt-unicode | X11 | yes | yes | no(2) |
+| alacritty(3) | X11 | yes | yes | no |
+| gnome-terminal | X11 | yes | yes | no |
+| xfce4-terminal | X11 | yes | yes | no |
+| mlterm | X11 | yes | yes | no(5) |
+| aminal(3) | X11 | yes | no | no |
+| konsole | X11 | yes | no | no |
+| yakuake | X11 | yes | no | no |
+| 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 |
+
+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 - Opening image crashes terminal.
+
+
System Properties
-----------------