|
Line 0
Link Here
|
|
|
1 |
Termbox is a library that provides minimalistic API which allows the |
| 2 |
programmer to write text-based user interfaces. |
| 3 |
|
| 4 |
It is based on a very simple abstraction. The main idea is viewing |
| 5 |
terminals as a table of fixed-size cells and input being a stream of |
| 6 |
structured messages. Would be fair to say that the model is inspired |
| 7 |
by windows console API. The abstraction itself is not perfect and it |
| 8 |
may create problems in certain areas. The most sensitive ones are |
| 9 |
copy & pasting and wide characters (mostly Chinese, Japanese, Korean |
| 10 |
(CJK) characters). When it comes to copy & pasting, the notion of |
| 11 |
cells is not really compatible with the idea of text. And CJK runes |
| 12 |
often require more than one cell to display them nicely. Despite the |
| 13 |
mentioned flaws, using such a simple model brings benefits in a form |
| 14 |
of simplicity. And KISS principle is important. |
| 15 |
|
| 16 |
At this point one should realize, that CLI (command-line interfaces) |
| 17 |
aren't really a thing termbox is aimed at. But rather |
| 18 |
pseudo-graphical user interfaces. |
| 19 |
|
| 20 |
WWW: https://github.com/nsf/termbox |