Termbox is a library that provides minimalistic API and abstracts away complexities of creating console/terminal UI applications. It has bindings for C, C++, Go, Rust, and other languages.
A lightweight library providing a simple API to build console UI applications, with support for multiple programming languages.
What is Termbox?
Termbox is an open-source library that enables developers to build text-based user interfaces that work in console/terminal environments. It provides a simple API and abstracts away many of the complexities involved in creating terminal applications that respond to user input and redraw sections of the screen.
Some key capabilities Termbox provides include:
Drawing text characters, lines, rectangles in terminal/console
Detecting and responding to keyboard and mouse events
Abstracting away terminal capabilities differences across operating systems
Supporting 256 color terminals
Requiring no dependencies other than a C compiler
Termbox is written in C but has bindings available for various languages including C++, Go, Rust, Python, Haskell, Erlang, and others. This allows using the Termbox capabilities from higher-level languages fairly easily.
It is a lightweight library aiming to fill a niche need for creating responsive text UIs in console/terminal environments. It is not intended to be a full GUI framework for terminal applications. But for creating interactive CLI tools, roguelike games, and other text-based interfaces, Termbox provides a simple way to manage terminal I/O.
Termbox Features
Features
Provides simple API for creating text UIs
Supports multiple platforms like Linux, Windows, OS X
Supports multiple programming languages like C, C++, Go, Rust
Handles keyboard inputs and mouse events
Provides primitive shapes and widgets like text, rectangles, lines
Abstracts away complexities of terminal control and text rendering
Ncurses (new curses) is a programming library that provides an application programming interface (API) for text-based user interfaces (TUI) in a terminal emulator. It is designed to facilitate the creation of TUIs and enable developers to write terminal-based applications.The ncurses library is based on the curses library originally written for...
Turbo Vision is an object-oriented framework for building text-based user interfaces (TUIs). It was originally developed in the early 1990s by Borland for use in DOS applications.Some key features of Turbo Vision include:A library of widgets like windows, buttons, menus, text boxes, checkboxes, etc. to aid in TUI constructionVirtual screening...
FTXUI is an open-source, header-only C++ library for creating terminal user interfaces. It is designed to provide an intuitive object-oriented interface for building text UIs that run directly in a terminal.Some key features of FTXUI include:A wide range of widgets including text boxes, menus, scroll bars, paragraphs, separators, and more.Flexible...
Gui.cs is an open-source GUI library written in C# for building desktop applications on Windows. It provides a collection of UI controls like windows, buttons, menus, textboxes, etc. that can be used to build feature-rich graphical interfaces.Some key highlights of Gui.cs:Open-source library released under MIT licenseDesigned specifically for C# and...
ConsoleGUI is a graphical user interface application designed to make working with console programs, commands, and scripts easier. It provides a GUI window where you can view console output, enter commands and run scripts. Some key features include:Tabbed interface to open multiple consolesCustomizable themes and fontsSave console output to filesSearchable...
libmabuff is an open-source C++ library that aims to improve memory allocation performance by buffering allocation and deallocation requests.It works by intercepting calls to memory allocation functions like malloc and free, and buffering these requests instead of passing them directly to the system memory manager. The buffers are then periodically...
S-Lang is an open-source, cross-platform, interpreted programming language and numerical analysis environment. It has been specifically designed for use in scientific programming and features built-in support for complex numbers, vectors, matrices, and 2D/3D plotting functionality.Some of the key features of S-Lang include:A syntax similar to C/C++ to lower the learning...