mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-09-23 21:58:09 +08:00
7ca4f9bbe3b702b8e22b0378e65c5c0300a9c6a1
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 (→ 测试). (% except combining characters)
- No dependencies.
- Cross platform (mostly). Linux/mac (main target), Windows (experimental).
- Keyboard & mouse navigation.
Operating systems
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:
- git-tui
- rgb-tui
- chrome-log-beautifier
- x86-64 CPU Architecture Simulation
- ltuiny
- i3-termdialogs
- Just-Fast
- simpPRU
- Pigeon ROS TUI
- hastur
- CryptoCalculator
- todoman
Hosted on:
External install.
It is highly recommanded to use cmake FetchContent to depends on FTXUI. This way you can specify uppon which commit hash you would like to depend on.
Alternatively, the following packages have been created.
- vcpkg (soon)
- Arch Linux PKGBUILD.
Languages
C++
95.7%
CMake
2.4%
Starlark
1.4%
Nix
0.3%
Shell
0.2%