Shreyas Atre bd21cac2b6 Menu of components (#131)
Allow Container::Vertical and Container::Horizontal to have an
external selector, similar to Container::Tab.

This is useful for implementing a menu of menu.

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2021-06-27 17:53:17 +02:00
2021-05-23 12:53:20 +02:00
2020-12-21 15:36:04 +01:00
2021-06-26 15:14:27 +02:00
2021-06-27 17:53:17 +02:00
2021-06-27 17:53:17 +02:00
2021-06-27 17:53:17 +02:00
2021-06-27 17:53:17 +02:00
2021-05-15 00:19:19 +02:00
2020-08-28 23:54:25 +02:00
2021-06-26 15:14:27 +02:00
2021-05-15 00:19:19 +02:00
2019-01-06 16:14:19 +01:00
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:

Description
Languages
C++ 95.7%
CMake 2.4%
Starlark 1.4%
Nix 0.3%
Shell 0.2%