💻 C++ Functional Terminal User Interface. ❤️
Go to file
ArthurSonzogni 66cdf9b2a5 Fix: box drawing comparison.
There was a bug. Converting the bitfield to int using the union wasn't
working correctly.
2021-09-30 20:55:47 +02:00
.github Merge Documentation and Emscripten workflow (#166) 2021-07-25 19:31:45 +02:00
.nxxm Add nxxm suport. 2020-12-21 15:36:04 +01:00
cmake Introduce gridbox. (#190) 2021-08-22 19:36:11 +02:00
doc Update docs to use std::string. (#184) 2021-08-09 22:51:48 +02:00
examples Use vscroll_indicator in examples. 2021-09-30 20:55:47 +02:00
include/ftxui feat: Dropdown select menu. (#214) 2021-09-30 20:55:47 +02:00
src/ftxui Fix: box drawing comparison. 2021-09-30 20:55:47 +02:00
tools Improve documentation workflow (#163) 2021-07-23 08:40:47 +02:00
.clang-format Variou details: 2020-08-28 23:54:25 +02:00
CHANGELOG.md feat: Dropdown select menu. (#214) 2021-09-30 20:55:47 +02:00
CMakeLists.txt feat: Dropdown select menu. (#214) 2021-09-30 20:55:47 +02:00
ftxui-config.cmake.in add dependency to Threads into generated cmake config (#52) 2020-10-16 22:07:30 +02:00
iwyu.imp Run IWYU. (#208) 2021-09-16 20:45:26 +02:00
LICENSE Add LICENSE. Add take_any_args. 2019-01-06 16:14:19 +01:00
README.md Update README.md 2021-09-30 20:55:47 +02:00

Demo image

Documentation · Report Bug · Examples . Request Feature · Send a Pull Request

FTXUI

Functional Terminal (X) User interface

A simple C++ library for terminal based user interface.

Feature

  • Functional style. Inspired by [1] and React
  • Simple and elegant syntax (in my opinion).
  • Support for UTF8 and fullwidth chars (→ 测试).
  • No dependencies.
  • Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), WebAssembly.
  • Keyboard & mouse navigation.

Operating systems

  • linux-emscripten
  • linux-gcc linux-clang
  • windows-msvc
  • mac-clang

Example

  vbox({
    hbox({
      text("left") | border,
      text("middle") | border | flex,
      text("right") | border,
    }),
    gauge(0.5) | border,
  });
┌────┐┌───────────────────────────────────────────────────────────────┐┌─────┐
│left││middle                                                         ││right│
└────┘└───────────────────────────────────────────────────────────────┘└─────┘
┌────────────────────────────────────────────────────────────────────────────┐
│██████████████████████████████████████                                      │
└────────────────────────────────────────────────────────────────────────────┘

Documentation

Project using FTXUI

Feel free to add your projects here:

Hosted on

External package

It is highly recommanded to use cmake FetchContent to depends on FTXUI. This way you can specify which commit you would like to depends on.

If you don't, the following packages have been created: