experimental 24-bit image protocol
[nikiroo-utils.git] / docs / 032_announcement.txt
1 Jexer 0.3.2 Release
2 ===================
3
4 I am pleased to announce the release of Jexer 0.3.2. This release
5 completes nearly every feature I set out to make, and is the last
6 major milestone before 1.0.0.
7
8 Jexer is not an application itself, but rather an advanced text
9 windowing system framework to help new applications take full
10 advantage of the terminal. Its major features are:
11
12 * MIT licensed.
13
14 * Direct support for xterm-like terminals: mouse, keyboard, 24-bit
15 RGB color, UTF-8, fullwidth characters (CJK and emoji), and sixel
16 images.
17
18 * A Swing-based GUI window that ships with a good-looking Terminus
19 font.
20
21 * Sixel image support, for both input in its terminal window and
22 output to the host terminal. Jexer is (to my knowledge) the first
23 and only system capable of managing multiple terminal windows
24 displaying properly overlapping images.
25
26 * Draggable / resizable windows, menu bar, and system-modal dialogs
27 (message/input boxes and filename picker).
28
29 * A full complement of widgets: button, text field, checkbox,
30 combobox, list, radio button, scrollbars, data table, calendar
31 picker, progress bar, text display, and simple text editor. Plus
32 layout manager support for resizable widgets and windows.
33
34 * A terminal window capable of passing "vttest" (including VT100
35 double-width / double-height), and supporting all of Jexer's
36 features. Jexer can run inside itself, with full keyboard, mouse,
37 and image support.
38
39 * Extensively documented in the code (Javadoc), a wiki, and ships
40 with a demonstration application showing off all of its available
41 widgets.
42
43
44 Find out more at the Jexer Sourceforge or GitLab project pages:
45
46 * https://jexer.sourceforge.io/
47
48 * https://gitlab.com/klamonte/jexer
49
50
51 Download
52 --------
53
54 GitLab: git clone https://gitlab.com/klamonte/jexer.git
55
56 Binary downloads: http://sourceforge.net/project/showfiles.php?group_id=2829121
57
58 On Maven:
59
60 group: com.gitlab.klamonte
61 artifact: jexer
62 version: 0.3.2
63
64
65 Ugh, Java Sucks!
66 ----------------
67
68 (Thor squint) But does it though?
69
70 More seriously, I initially picked D because it was sexy. But D circa
71 2013 brought too many headaches for me, so I switched to Java because
72 I wanted a cross-platform standard library that would be stable over
73 many years. And Java is OK, it is a solid workhorse that gets the job
74 done.
75
76 Yet in porting my initial work to Java I stumbled upon an unexpected
77 benefit: I found ways to accomplish all of what Jexer does _without
78 calling C directly_. No termios, no ncurses, no forkpty(), and thus
79 no serious hurdles porting it to anything that can spawn programs and
80 read their output. On Linux, BSD, or OSX, all you need is 'stty' and
81 'script' to make things work. (And if you want resizable terminal
82 windows, add 'ptypipe'.)
83
84 So for those who want something like Jexer but in your own favorite
85 language, I encourage you to check out the [Porting
86 Jexer](https://gitlab.com/klamonte/jexer/wikis/porting) page on the
87 wiki: it has pointers to where the key features are, and a potential
88 roadmap if you wanted to take part or all of it into your own hands.
89 I licensed Jexer as MIT, stuck with simple Java 1.6, and thoroughly
90 documented it in the hope that fans of other languages could more
91 easily create or enhance their own text user interfaces.