Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
demo/ | H | 26-Sep-2020 | - | 1,013 | 941 | |
.gitignore | H A D | 26-Sep-2020 | 54 | 6 | 5 | |
COPYING | H A D | 26-Sep-2020 | 1.1 KiB | 21 | 17 | |
Makefile | H A D | 26-Sep-2020 | 1.4 KiB | 41 | 31 | |
README.md | H A D | 26-Sep-2020 | 4.1 KiB | 125 | 92 | |
termbox.c | H A D | 26-Sep-2020 | 37.5 KiB | 1,340 | 1,083 | |
termbox.h | H A D | 26-Sep-2020 | 11.8 KiB | 325 | 156 | |
utf8.c | H A D | 26-Sep-2020 | 2 KiB | 70 | 59 |
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