X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=README.md;h=dc1b8f8bf763ba20ad403d6a95a0238ddc52c3e8;hb=039b29a58df4744e72d88546cac77dcdd9754ad2;hp=f287251356284857947f938d56b86619a443fbe3;hpb=87a17f3ca4b2602c396afdbb13cccb4c1e7cbd38;p=fanfix.git diff --git a/README.md b/README.md index f287251..dc1b8f8 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,9 @@ Two backends are available: * Java AWT UI. This backend can be selected by setting jexer.AWT=true. This is the default backend on Windows platforms. - AWT is VERY experimental, please consider filing bugs when you - encounter them. + AWT is experimental, please consider filing bugs when you encounter + them. The default window size for AWT is 132x40, which is set in + jexer.session.AWTSession. A demo application showing the existing UI controls is available via 'java -jar jexer.jar' or 'java -Djexer.AWT=true -jar jexer.jar' . @@ -31,9 +32,14 @@ A demo application showing the existing UI controls is available via License ------- -This project is licensed LGPL ("GNU Lesser General Public License") -version 3 or greater. See the file LICENSE for the full license text, -which includes both the GPL v3 and the LGPL supplemental terms. +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. @@ -75,6 +81,28 @@ See the file demos/Demo1.java for detailed examples. +Known Issues / Arbitrary Decisions +---------------------------------- + +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. + + TTerminalWindow + --------------- + + - 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. + + + + Roadmap ------- @@ -82,28 +110,31 @@ Many tasks remain before calling this version 1.0: 0.0.2: +- Making TMenu keyboard accelerators active/inactive - AWT: - Blinking cursor -- Clean up TWidget constuctors (everyone is doing setX() / setY() / set...) + - Handle kbTab (disable focus traversal BS) + - Block cursor - ECMA48Backend running on socket - TTreeView - TDirectoryList - TFileOpen - Decide on naming convention: getText, getValue, getLabel: one or all of them? +- Refactor: + - TKeypress: + - getCh() --> getChar() + - getAlt/getCtrl/getShift --> isAltDown / isCtrlDown / isShiftDown + - Other boolean getters --> isSomething 0.0.3: - TEditor -- TTerminal 0.0.4: - Bugs - - Bare ESC isn't being returned immediately - - TTimer is jittery with I/O - TSubMenu keyboard mnemonic not working - - kbDel and use by TMenu (MID_CLEAR) - TDirectoryList cannot be navigated only with keyboard - TTreeView cannot be navigated only with keyboard - RangeViolation after dragging scrollbar up/down @@ -112,14 +143,11 @@ Many tasks remain before calling this version 1.0: - TWindow - "Smart placement" for new windows -- ECMATerminal - - Mouse 1006 mode parsing Wishlist features (2.0): - TTerminal - Handle resize events (pass to child process) - - xterm mouse handling - Screen - Allow complex characters in putCharXY() and detect them in putStrXY(). - TComboBox @@ -133,3 +161,13 @@ Wishlist features (2.0): - TText - TTerminal - TComboBox + + +Screenshots +----------- + +![Several Windows Open Including A Terminal](/screenshots/screenshot1.png?raw=true "Several Windows Open Including A Terminal") + +![Yo Dawg...](/screenshots/yodawg.png?raw=true "Yo Dawg, I heard you + like text windowing systems, so I ran a text windowing system inside your + text windowing system so you can have a terminal in your terminal.")