💻 C++ Functional Terminal User Interface. ❤️
Go to file
Arthur Sonzogni 602392c43d
Implement flexbox (#277)
This implement the flexbox elements, following the HTML one.

Built from them, there is also the following elements:
- `paragraph`
- `paragraphAlignLeft`
- `paragraphAlignRight`
- `paragraphAlignCenter`
- `paragraphAlignJustify`

This is a breaking change.
2021-12-11 17:58:25 +01:00
.github Fix Windows builds not being in Release mode (#245) 2021-10-22 18:06:19 +02:00
.nxxm Add nxxm suport. 2020-12-21 15:36:04 +01:00
cmake Implement flexbox (#277) 2021-12-11 17:58:25 +01:00
doc Update docs to use std::string. (#184) 2021-08-09 22:51:48 +02:00
examples Implement flexbox (#277) 2021-12-11 17:58:25 +01:00
include/ftxui Implement flexbox (#277) 2021-12-11 17:58:25 +01:00
src/ftxui Implement flexbox (#277) 2021-12-11 17:58:25 +01: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 Implement flexbox (#277) 2021-12-11 17:58:25 +01:00
CMakeLists.txt Implement flexbox (#277) 2021-12-11 17:58:25 +01:00
ftxui-config.cmake.in add dependency to Threads into generated cmake config (#52) 2020-10-16 22:07:30 +02:00
iwyu.imp Implement flexbox (#277) 2021-12-11 17:58:25 +01:00
LICENSE Add LICENSE. Add take_any_args. 2019-01-06 16:14:19 +01:00
README.md adding to projects using FTXUI list (#274) 2021-12-06 20:18:09 +01: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

  • Webassembly
  • Linux
  • MacOS
  • Windows

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: