mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-25 20:27:31 +08:00
💻 C++ Functional Terminal User Interface. ❤️
406355df8c
The ESC key generates sequences that are prefix of others. For instance: - ESC => [27] - F1 => [27, 79, 8] As a result, we can't generate the ESC event when receiving [27], because it might be the start of the [27, 79, 8] sequence (or not). Application usually applies a timeout to help detecting the ESC key. This patch introduce a timeout. It is set to 50ms. Bug: https://github.com/ArthurSonzogni/FTXUI/issues/55 |
||
---|---|---|
.github | ||
doc | ||
examples | ||
include/ftxui | ||
src/ftxui | ||
tools | ||
.clang-format | ||
.gitlab-ci.yml | ||
.travis.yml | ||
CMakeLists.txt | ||
ftxui-config.cmake.in | ||
LICENSE | ||
README.md |
FTXUI
Functional Terminal (X) User interface
A simple C++ library for terminal based user interface.
Demo:
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 (mostly). Linux (main target), Windows (experimental), Mac.
Example:
vbox({
hbox({
text(L"left") | border,
text(L"middle") | border | flex,
text(L"right") | border,
}),
gauge(0.5) | border,
});
┌────┐┌───────────────────────────────────────────────────────────────┐┌─────┐
│left││middle ││right│
└────┘└───────────────────────────────────────────────────────────────┘└─────┘
┌────────────────────────────────────────────────────────────────────────────┐
│██████████████████████████████████████ │
└────────────────────────────────────────────────────────────────────────────┘
Documentation:
- Starter example project
- Documentation (Work in progress)
- Build using CMake
- Build using nxxm
Project using FTXUI
Feel free to add your projects here:
- chrome-log-beautifier
- x86-64 CPU Architecture Simulation
- ltuiny
- i3-termdialogs
- Just-Fast
- simpPRU
- Pigeon ROS TUI