https://github.com/unix-junkie/christmas
Java TUI (text-based user interface) widget toolkit which aims at using no native code at all (even on Windows platforms)
https://github.com/unix-junkie/christmas
java terminal tui
Last synced: 6 months ago
JSON representation
Java TUI (text-based user interface) widget toolkit which aims at using no native code at all (even on Windows platforms)
- Host: GitHub
- URL: https://github.com/unix-junkie/christmas
- Owner: unix-junkie
- License: gpl-3.0
- Created: 2013-09-11T06:03:42.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2023-11-07T02:23:42.000Z (over 2 years ago)
- Last Synced: 2024-04-23T11:23:37.731Z (about 2 years ago)
- Topics: java, terminal, tui
- Language: Java
- Size: 227 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Christmas
=========
A Java TUI ([text-based user interface](https://en.wikipedia.org/wiki/Text-based_user_interface)) widget toolkit which aims at using no native code at all (even on Windows platforms).
# Features
* Support for common terminal types (`ansi`, `linux`, `xterm*`, `screen*`, `vt*`, `dtterm` etc.) and terminal emulators (XTerm, RXVT, PuTTY, DtTerm etc).
* Support for 16 ANSI colours. Bright foreground is implemented using either `BOLD` attribute or `AIXTerm` control sequences (terminal-dependent). Bright background is implemented using either `BLINK` attribute (RXVT family) or `AIXTerm` control sequences (terminal-dependent).
* Pseudographics via either Unicode line drawing characters (if locale's codepage supports it -- i. e. for `UTF-8`, `IBM866`, `KOI8-R`) or VT100 line drawing characters.
* Continuous window size querying (for terminals which have this capability). Support for `SIGWINCH` (UNIX) is planned.
* Correct handling of most control and escape sequences, incl. function keys (ANSI/Sun/SCO etc.)
* Custom window titles supported.
* Own "database" of terminal capabilities
# Running
```bash
mvn exec:java
```
# Similar libraries
* [`lanterna`](https://code.google.com/p/lanterna/) (also pure Java)
* [Turbo Vision](http://tvision.sourceforge.net/)
* [Turbo Vision rewritten in C#](http://www.codeproject.com/Articles/750873/Turbo-Vision-resurrected-for-Csharp-and-with-XAML)
* [Textmode WINdow environment](http://sourceforge.net/projects/twin/)
* [`ncurses`](https://www.gnu.org/software/ncurses/)
# Links
* [XTerm Control Sequences](http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)
* Comparison of Terminal Emulators
* [Title Support](http://unix-junkie.github.io/christmas/Comparison%20of%20Terminal%20Emulators%20-%20Title%20Support.html)
* [Colour Support](http://unix-junkie.github.io/christmas/Comparison%20of%20Terminal%20Emulators%20-%20Colour%20Support.html)
# Screenshots
* `cmd.exe` on Windows 7: 
* PuTTY on Windows 7: 
* `xterm` on Linux: 
* `mrxvt` on Linux: 
* `urxvt` on Linux: 
* `rxvt-unicode` on Linux: 
* `gnome-terminal` on Linux: 
* `xfce4-terminal` on Linux: 
* `konsole` on Linux: 