💻 C++ Functional Terminal User Interface. ❤️
Go to file
2021-09-30 21:44:29 +02:00
.github Do not trigger the CQ twice on pull request. 2021-09-30 21:44:29 +02:00
.nxxm Add nxxm suport. 2020-12-21 15:36:04 +01:00
cmake Add workflow creating releases. 2021-09-30 21:25:47 +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 Add workflow creating releases. 2021-09-30 21:25:47 +02:00
CMakeLists.txt Add workflow creating releases. 2021-09-30 21:25: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: