-
- - 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.
+
+ - Java's InputStreamReader 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.
+
+ Use of 'stty'
+ -------------
+
+ - 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(). The terminal is (blindly!) put back 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.