Prep for 2019 release
[nikiroo-utils.git] / README.md
index 7e4a0e509a4e48edf0758ad2b81cd890acf82f61..009ec6f99a5dfa9b23b530df024ec592e8e1da6a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -14,8 +14,8 @@ Jexer currently supports three backends:
 * System.in/out to a command-line ECMA-48 / ANSI X3.64 type terminal
   (tested on Linux + xterm).  I/O is handled through terminal escape
   sequences generated by the library itself: ncurses is not required
-  or linked to.  xterm mouse tracking using UTF8 and SGR coordinates
-  are supported.  For the demo application, this is the default
+  or linked to.  xterm mouse tracking is supported using both UTF8 and
+  SGR coordinates.  For the demo application, this is the default
   backend on non-Windows/non-Mac platforms.
 
 * The same command-line ECMA-48 / ANSI X3.64 type terminal as above,
@@ -36,7 +36,7 @@ constructor.  See Demo5 and Demo6 for examples of other backends.
 
 The Jexer homepage, which includes additional information and binary
 release downloads, is at: https://jexer.sourceforge.io .  The Jexer
-source code is hosted at: https://github.com/klamonte/jexer .
+source code is hosted at: https://gitlab.com/klamonte/jexer .
 
 
 
@@ -73,8 +73,9 @@ class MyApplication extends TApplication {
         addFileMenu();
         addWindowMenu();
 
-        // Add a custom window, see below for its code.
-        addWindow(new MyWindow(this));
+        // Add a custom window, see below for its code.  The TWindow
+        // constructor will add it to this application.
+        new MyWindow(this);
     }
 
     public static void main(String [] args) {
@@ -196,6 +197,21 @@ The following properties control features of Jexer:
   be faster on slower systems but also more likely to have screen
   tearing.  Default: true.
 
+  jexer.TTerminal.ptypipe
+  -----------------------
+
+  Used by jexer.TTerminalWindow.  If true, spawn shell using the
+  'ptypipe' utility rather than 'script'.  This permits terminals to
+  resize with the window.  ptypipe is a separate C language utility,
+  available at https://gitlab.com/klamonte/ptypipe.  Default: false.
+
+  jexer.ECMA48.rgbColor
+  ---------------------
+
+  Used by jexer.backend.ECMA48Terminal.  If true, emit T.416-style RGB
+  colors for normal system colors.  This is expensive in bandwidth,
+  and potentially terrible looking for non-xterms.  Default: false.
+
 
 
 Known Issues / Arbitrary Decisions
@@ -213,19 +229,19 @@ ambiguous.  This section describes such issues.
     input (see the ENABLE_LINE_INPUT flag for GetConsoleMode() and
     SetConsoleMode()).
 
-  - TTerminalWindow launches 'script -fqe /dev/null' or 'script -q -F
-    /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 and Mac but might not on
-    other Posix-y platforms.
+  - TTerminalWindow by default launches 'script -fqe /dev/null' or
+    'script -q -F /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 and
+    Mac but might not on other Posix-y platforms.
 
   - Closing a TTerminalWindow without exiting the process inside it
     may result in a zombie 'script' process.
 
-  - TTerminalWindow cannot notify the child process of changes in
-    window size, due to Java's lack of support for forkpty() and
-    similar.  Solving this requires C, and will be pursued only if
-    sufficient user requests come in.
+  - TTerminalWindow can only notify the child process of changes in
+    window size if using the 'ptypipe' utility, due to Java's lack of
+    support for forkpty() and similar.  ptypipe is available at
+    https://gitlab.com/klamonte/ptypipe.
 
   - Java's InputStreamReader as used by the ECMA48 backend requires a
     valid UTF-8 stream.  The default X10 encoding for mouse