X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=README.md;h=009ec6f99a5dfa9b23b530df024ec592e8e1da6a;hb=978a5d8f650488c8840d54ccc3032599ca50a084;hp=7e4a0e509a4e48edf0758ad2b81cd890acf82f61;hpb=be72cb5ccbd42fe304c0acafc380c5636f0d03a2;p=fanfix.git diff --git a/README.md b/README.md index 7e4a0e5..009ec6f 100644 --- 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