Link back to sf.net
[fanfix.git] / README.md
index 58688a15db2cdde1c6d2e72e17f698d8eec29cfc..7cfe9b4c789a87f547b8926a02ac5a31570ef5af 100644 (file)
--- a/README.md
+++ b/README.md
@@ -14,35 +14,34 @@ Jexer currently supports three backends:
   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
   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
-  backend on non-Windows platforms.
+  backend on non-Windows/non-Mac platforms.
 
 * The same command-line ECMA-48 / ANSI X3.64 type terminal as above,
 
 * The same command-line ECMA-48 / ANSI X3.64 type terminal as above,
-  but to any general InputStream/OutputStream.  See the file
-  jexer.demos.Demo2 for an example of running the demo over a TCP
-  socket.
+  but to any general InputStream/OutputStream or Reader/Writer.  See
+  the file jexer.demos.Demo2 for an example of running the demo over a
+  TCP socket.  jexer.demos.Demo3 demonstrates how one might use a
+  character encoding than the default UTF-8.
 
 * Java Swing UI.  This backend can be selected by setting
 
 * Java Swing UI.  This backend can be selected by setting
-  jexer.Swing=true.  The default window size for Swing is 132x40,
-  which is set in jexer.session.SwingSession.  For the demo
-  application, this is the default backend on Windows platforms.
+  jexer.Swing=true.  The default window size for Swing is 80x25, which
+  is set in jexer.session.SwingSession.  For the demo application,
+  this is the default backend on Windows and Mac platforms.
 
 Additional backends can be created by subclassing
 jexer.backend.Backend and passing it into the TApplication
 constructor.
 
 
 Additional backends can be created by subclassing
 jexer.backend.Backend and passing it into the TApplication
 constructor.
 
+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 .
+
 
 
 License
 -------
 
 
 
 License
 -------
 
-This project is licensed LGPL ("GNU Lesser General Public License",
-sometimes called the "Library GPL") version 3 or greater.  You may
-freely use Jexer in both closed source (proprietary) and open source
-applications, however any changes you make to the Jexer code must be
-made available to your users.
-
-See the file LICENSE for the full license text, which includes both
-the GPL v3 and the LGPL supplemental terms.
+This project is licensed under the MIT License.  See the file LICENSE
+for the full license text.
 
 
 
 
 
 
@@ -177,12 +176,6 @@ Some arbitrary design decisions had to be made when either the
 obviously expected behavior did not happen or when a specification was
 ambiguous.  This section describes such issues.
 
 obviously expected behavior did not happen or when a specification was
 ambiguous.  This section describes such issues.
 
-  - TTerminalWindow will hang on input from the remote if the
-    TApplication is exited before the TTerminalWindow's process has
-    closed on its own.  This is due to a Java limitation/interaction
-    between blocking reads (which is necessary to get UTF8 translation
-    correct) and file streams.
-
   - See jexer.tterminal.ECMA48 for more specifics of terminal
     emulation limitations.
 
   - See jexer.tterminal.ECMA48 for more specifics of terminal
     emulation limitations.
 
@@ -191,10 +184,14 @@ ambiguous.  This section describes such issues.
     input (see the ENABLE_LINE_INPUT flag for GetConsoleMode() and
     SetConsoleMode()).
 
     input (see the ENABLE_LINE_INPUT flag for GetConsoleMode() and
     SetConsoleMode()).
 
-  - 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.
+  - 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.
+
+  - Closing a TTerminalWindow without exiting the process inside it
+    may result in a zombie 'script' process.
 
   - Java's InputStreamReader as used by the ECMA48 backend requires a
     valid UTF-8 stream.  The default X10 encoding for mouse
 
   - Java's InputStreamReader as used by the ECMA48 backend requires a
     valid UTF-8 stream.  The default X10 encoding for mouse
@@ -219,34 +216,5 @@ ambiguous.  This section describes such issues.
 Roadmap
 -------
 
 Roadmap
 -------
 
-Many tasks remain before calling this version 1.0:
-
-0.0.4
-
-- TStatusBar
-- TEditor
-- TWindow
-  - "Smart placement" for new windows
-
-0.0.5: BUG HUNT
-
-- Swing performance.  Even with double buffering it isn't great.
-
-0.1.0: BETA RELEASE
-
-- TSpinner
-- TComboBox
-- TCalendar
-
-Wishlist features (2.0):
-
-- TTerminal
-  - Handle resize events (pass to child process)
-- Screen
-  - Allow complex characters in putCharXY() and detect them in putStringXY().
-- Drag and drop
-  - TEditor
-  - TField
-  - TText
-  - TTerminal
-  - TComboBox
+Many tasks remain before calling this version 1.0.  See docs/TODO.md
+for the complete list of tasks.