ArthurSonzogni 08ee49f3e6 Add flex_grow and flex_shrink.
Two new elements:
- flex_grow  : Expand the element to occupy free space.
- flex_shrink: Minimize the element leave away missing space.

flex = flex_grow | flex_shrink.

Other changes:
- hbox and vbox are now non flexible by default.
- the vtext element has been added to help writting tests.
- Many new tests.
2020-06-07 02:30:45 +02:00
2020-06-07 02:30:45 +02:00
2020-06-07 02:30:45 +02:00
2020-03-23 21:26:00 +01:00
2019-02-02 02:32:42 +01:00
2020-04-17 00:59:05 +02:00
2020-05-25 02:05:07 +02:00
2019-01-06 16:14:19 +01:00
2020-06-07 02:30:45 +02:00

FTXUI

travis 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 (main target)
    • Windows (experimental, thanks to mauve@)
    • Mac (never tested, but must WORK)

Example:

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

Build

Tutorial

Project using FTXUI

Feel free to add your projects here:

Hosted on:

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