FTXUI

FTXUI

FTXUI is a simple and easy-to-use C++ terminal user interface library. It provides widgets like text boxes, menus, and scrollbars that can be easily composed to build complex terminal applications. FTXUI aims to be lightweight, versatile, and high-performance.
FTXUI image
c terminal widgets lightweight

FTXUI: Simple C++ Terminal UI Library

A lightweight, versatile, and high-performance terminal user interface library for building complex applications with easy-to-use widgets like text boxes, menus, and scrollbars.

What is 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 layout system allowing widgets to be arranged horizontally, vertically, or in grids.
  • Support for rich formatting like text color, weight, alignment, and padding.
  • Mouse and keyboard event handling.
  • Easy integration of nested sub-screens and popup menus.
  • High performance rendering with zero memory allocations at runtime.

FTXUI aims to make terminal UIs easy by abstracting away the complexity of terminal control and providing an elegant object-oriented design. It can be used to create complex TUI applications like game interfaces, system monitors, command-line tools, and full-screen apps.

As an open source library with minimal dependencies, FTXUI is easy to integrate into existing C++ projects. It works across Linux, macOS, and Windows platforms. With its focus on efficiency and small compiled size, FTXUI is well-suited for applications where performance matters.

FTXUI Features

Features

  1. Text boxes
  2. Menus
  3. Scrollbars
  4. Easy composition
  5. Lightweight
  6. High-performance

Pricing

  • Open Source

Pros

Simple and easy to use

Lightweight

High-performance

Good documentation

Active development

MIT license

Cons

Limited widget set compared to alternatives

Less customizable than alternatives

Only supports Linux/macOS terminals


The Best FTXUI Alternatives

Top Development and User Interface Libraries and other similar apps like FTXUI


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
Termbox icon

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...
Termbox 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
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
BearLibTerminal icon

BearLibTerminal

BearLibTerminal is an open-source, lightweight C/C++ library for developers of roguelike games, ASCII art, textual UIs and console applications. It provides a pseudoterminal window with input and output facilities, sprite handling, truecolor images support and simple APIs for text output, mouse/keyboard input and OpenGL-accelerated 2D graphics rendering.Key features of BearLibTerminal...
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
Libtcod icon

Libtcod

libtcod is an open source C/C++ and Python library designed to help developers create roguelike games and applications featuring procedural generation. It was originally developed by Jice in 2008 and has been used in many roguelike games since then.Some of the key features of libtcod include:Portability - Works on Windows,...
Libtcod image
Rot.js icon

Rot.js

rot.js is an open-source JavaScript library designed to help developers create roguelike games in the browser. It handles many common tasks and algorithms used in roguelikes such as:Procedural map generation using various algorithms like cellular automata or drunken walk.Field-of-view calculations for determining visibility.Pathfinding functions like A* or Dijkstra's algorithm.Support for...
Rot.js 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