termbox

Termbox

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.
termbox image
terminal tui console cli curses library bindings

Termbox: Minimalistic Console Library

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

  1. Provides simple API for creating text UIs
  2. Supports multiple platforms like Linux, Windows, OS X
  3. Supports multiple programming languages like C, C++, Go, Rust
  4. Handles keyboard inputs and mouse events
  5. Provides primitive shapes and widgets like text, rectangles, lines
  6. Abstracts away complexities of terminal control and text rendering

Pricing

  • Open Source

Pros

Lightweight and fast

Easy to integrate and use

Cross-platform support

Language bindings make it accessible

Actively maintained and improved

Cons

Limited documentation and examples

Less flexible compared to full GUI frameworks

Lacks some advanced UI features

Not many customization options for appearances


The Best Termbox Alternatives

Top Development and Terminal User Interfaces and other similar apps like Termbox

Here are some alternatives to Termbox:

Suggest an alternative ❐

Ncurses icon

Ncurses

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...
Ncurses image
Turbo Vision icon

Turbo Vision

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...
Turbo Vision image
FTXUI icon

FTXUI

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...
FTXUI image
Gui.cs icon

Gui.cs

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...
Gui.cs image
ConsoleGUI icon

ConsoleGUI

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...
ConsoleGUI image
Libmabuff icon

Libmabuff

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...
Libmabuff image
S-Lang icon

S-Lang

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...
S-Lang image