You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ly/dep/termbox_next
AnErrupTion 92e1f083a1
Commit unfinished full rewrite (Zig 0.11.0)
What needs to be dealt with:
- Matrix animation
- Authentication part
- Testing on actual TTY (not just virtual console)

Signed-off-by: AnErrupTion <anerruption@disroot.org>
7 months ago
..
src Commit unfinished full rewrite (Zig 0.11.0) 7 months ago
tools Add projects 1 year ago
.gitignore Add projects 1 year ago
license Add projects 1 year ago
readme.md Add projects 1 year ago

readme.md

Termbox

Termbox was a promising Text User Interface (TUI) library. Unfortunately, its original author changed his mind about consoles and despite the community's efforts to keep the library's development going, preferred to let it die. Before it happened, some people already noticed the robustness of the initial architecture became compromised in a nonsensical refactoring frenzy. Now, the author refuses to merge features like true-color support, invoking some spurious correlations we will discuss no further.

The new Termbox-next

This fork was made to restore the codebase to its original quality (before 66c3f91) while providing all the functionnalities of the current implementation. This was achieved by branching at a2e217f and cherry-picking all the commits up to d63b83a if they weren't harmful.

Changes

A lot of things changed during the process:

  • waf, the original build system, was completely removed from the project and replaced by make.
  • anything related to python was removed as well

Getting started

Termbox's interface only consists of 12 functions:

tb_init() // initialization
tb_shutdown() // shutdown

tb_width() // width of the terminal screen
tb_height() // height of the terminal screen

tb_clear() // clear buffer
tb_present() // sync internal buffer with terminal

tb_put_cell()
tb_change_cell()
tb_blit() // drawing functions

tb_select_input_mode() // change input mode
tb_peek_event() // peek a keyboard event
tb_poll_event() // wait for a keyboard event

See src/termbox.h header file for full detail.

TL;DR

make to build a static version of the lib under bin/termbox.a cd src/demo && make to build the example programs in src/demo/