- ECMA48 Backend
- --------------
-
- - Mouse support for BackendType.ECMA48/XTERM currently requires UTF-8
- coordinates (1005 mode). Terminals that support UTF-8 mouse coordinates
- include xterm, rxvt-unicode, gnome-terminal, and konsole. Due to Java's
- InputStreamReader requirement of a valid UTF-8 stream, one must assume
- the terminal will always generate correct UTF-8 bytes. Mode 1006 (SGR)
- will be supported in a future release.
+ - TTerminalWindow launches 'script -fqe /dev/null' on non-Windows
+ platforms. This is a workaround for the C library behavior of
+ checking for a tty: script launches $SHELL in a pseudo-tty. This
+ works on Linux but might not on other Posix-y platforms.
+
+ - Java's InputStreamReader as used by the ECMA48 backend requires a
+ valid UTF-8 stream. The default X10 encoding for mouse
+ coordinates outside (160,94) can corrupt that stream, at best
+ putting garbage keyboard events in the input queue but at worst
+ causing the backend reader thread to throw an Exception and exit
+ and make the entire UI unusable. Mouse support therefore requires
+ a terminal that can deliver either UTF-8 coordinates (1005 mode)
+ or SGR coordinates (1006 mode). Most modern terminals can do
+ this.
+
+ - jexer.session.TTYSession calls 'stty size' once every second to
+ check the current window size, performing the same function as
+ ioctl(TIOCGWINSZ) but without requiring a native library.
+
+ - jexer.io.ECMA48Terminal calls 'stty' to perform the equivalent of
+ cfmakeraw() when using System.in/out. System.out is also
+ (blindly!) put in 'stty sane cooked' mode when exiting.
+
+
+
+System Properties
+-----------------
+
+The following properties control features of Jexer:
+
+ jexer.Swing
+ -----------
+
+ Used only by jexer.demos.Demo1. If true, use the Swing interface
+ for the demo application. Default: true on Windows platforms
+ (os.name starts with "Windows"), false on non-Windows platforms.
+
+ jexer.Swing.cursorStyle
+ -----------------------
+
+ Used by jexer.io.SwingScreen. Selects the cursor style to draw.
+ Valid values are: underline, block, outline. Default: underline.