• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

demo/H26-Sep-2020-1,013941

.gitignoreH A D26-Sep-202054 65

COPYINGH A D26-Sep-20201.1 KiB2117

MakefileH A D26-Sep-20201.4 KiB4131

README.mdH A D26-Sep-20204.1 KiB12592

termbox.cH A D26-Sep-202037.5 KiB1,3401,083

termbox.hH A D26-Sep-202011.8 KiB325156

utf8.cH A D26-Sep-20202 KiB7059

README.md

1# termbox
2
3termbox is a minimal, legacy-free alternative to ncurses, suitable for building
4text-based user interfaces.
5
6This repo represents an effort to recentralize termbox development as the
7original repo is no longer maintained.
8
9### Building
10
11Use `make` to build and `make install` to install.
12
13The `install` target supports `prefix` and `DESTDIR` if needed.
14
15### Usage
16
17The termbox API consists of the following functions.
18
19```
20tb_init() // initialization
21tb_shutdown() // shutdown
22
23tb_width() // width of the terminal screen
24tb_height() // height of the terminal screen
25
26tb_clear() // clear buffer
27tb_present() // sync internal buffer with terminal
28
29tb_put_cell()
30tb_change_cell()
31tb_blit() // drawing functions
32
33tb_select_input_mode() // change input mode
34tb_peek_event() // peek a keyboard event
35tb_poll_event() // wait for a keyboard event
36```
37
38See termbox.h for more details.
39
40### Links
41
42Make a pull request if you would like your termbox project listed here.
43
44##### Language bindings
45
46- https://github.com/nsf/termbox - Python
47- https://github.com/adsr/termbox-php - PHP
48- https://github.com/gchp/rustbox - Rust
49- https://github.com/fouric/cl-termbox - Common Lisp
50- https://github.com/zyedidia/termbox-d - D
51- https://github.com/dduan/Termbox - Swift
52- https://github.com/andrewsuzuki/termbox-crystal - Crystal
53- https://github.com/jgoldfar/Termbox.jl - Julia
54- https://github.com/mitchellwrosen/termbox - Haskell
55- https://github.com/dom96/nimbox - Nim
56- https://github.com/ndreynolds/ex_termbox - Elixir
57- https://github.com/bmsauer/termbox-ada - Ada
58- https://github.com/luxint/termbox - newLISP
59
60##### Other implementations
61
62- https://github.com/nsf/termbox-go - Go pure termbox implementation
63
64##### Applications
65
66- https://github.com/adsr/mle - a small, flexible terminal-based text editor
67- https://github.com/colinta/Ashen - framework for building terminal applications based on the Elm architecture
68- https://github.com/afify/sfm - simple file manager for unix-like systems
69
70### Changes
71
72v1.1.3:
73
74- Tagging master as v1.1.3 before forking
75
76v1.1.2:
77
78- Properly include changelog into the tagged version commit. I.e. I messed up
79  by tagging v1.1.1 and describing it in changelog after tagged commit. This
80  commit marked as v1.1.2 includes changelog for both v1.1.1 and v1.1.2. There
81  are no code changes in this minor release.
82
83v1.1.1:
84
85- Ncurses 6.1 compatibility fix. See https://github.com/nsf/termbox-go/issues/185.
86
87v1.1.0:
88
89- API: tb_width() and tb_height() are guaranteed to be negative if the termbox
90  wasn't initialized.
91- API: Output mode switching is now possible, adds 256-color and grayscale color
92  modes.
93- API: Better tb_blit() function. Thanks, Gunnar Zötl <gz@tset.de>.
94- API: New tb_cell_buffer() function for direct back buffer access.
95- API: Add new init function variants which allow using arbitrary file
96  descriptor as a terminal.
97- Improvements in input handling code.
98- Calling tb_shutdown() twice is detected and results in abort() to discourage
99  doing so.
100- Mouse event handling is ported from termbox-go.
101- Paint demo port from termbox-go to demonstrate mouse handling capabilities.
102- Bug fixes in code and documentation.
103
104v1.0.0:
105
106- Remove the Go directory. People generally know about termbox-go and where
107  to look for it.
108- Remove old terminfo-related python scripts and backport the new one from
109  termbox-go.
110- Remove cmake/make-based build scripts, use waf.
111- Add a simple terminfo database parser. Now termbox prefers using the
112  terminfo database if it can be found. Otherwise it still has a fallback
113  built-in database for most popular terminals.
114- Some internal code cleanups and refactorings. The most important change is
115  that termbox doesn't leak meaningless exported symbols like 'keys' and
116  'funcs' now. Only the ones that have 'tb_' as a prefix are being exported.
117- API: Remove unsigned ints, use plain ints instead.
118- API: Rename UTF-8 functions 'utf8_*' -> 'tb_utf8_*'.
119- API: TB_DEFAULT equals 0 now, it means you can use attributes alones
120  assuming the default color.
121- API: Add TB_REVERSE.
122- API: Add TB_INPUT_CURRENT.
123- Move python module to its own directory and update it due to changes in the
124  termbox library.
125