💻 C++ Functional Terminal User Interface. ❤️
Go to file
cmorganBE 23789c2d7b
Component example showing composition of components (#150)
This approach can allow for UI sections that are more modular and reusable
2021-07-14 15:04:12 +02:00
.github Introduce CatchEvent (#104) 2021-05-23 12:53:20 +02:00
.nxxm Add nxxm suport. 2020-12-21 15:36:04 +01:00
cmake Rename library for vcpkg. (#140) 2021-07-06 02:10:35 +02:00
doc Component example showing composition of components (#150) 2021-07-14 15:04:12 +02:00
examples Component example showing composition of components (#150) 2021-07-14 15:04:12 +02:00
include/ftxui Improve the documentation. 2021-07-11 12:23:42 +02:00
src/ftxui Resolve compile error on cygwin. (#151) 2021-07-14 14:41:31 +02:00
tools Format using iwyu. 2021-05-15 00:19:19 +02:00
.clang-format Variou details: 2020-08-28 23:54:25 +02:00
CMakeLists.txt Increase version. (#146) 2021-07-11 12:25:54 +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 Format using iwyu. 2021-05-15 00:19:19 +02:00
LICENSE Add LICENSE. Add take_any_args. 2019-01-06 16:14:19 +01:00
README.md Update README.md 2021-06-16 11:08:30 +02:00

FTXUI

issues license contributors

Functional Terminal (X) User interface

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

Demo:

Demo image

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(L"left") | border,
      text(L"middle") | border | flex,
      text(L"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: