mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-25 20:27:31 +08:00
💻 C++ Functional Terminal User Interface. ❤️
3d5e4eb6ca
If we download the FTXUI source archive from the GitHub website, then the `.git` folder will be missing. In such case, CMake configuration will fail: > git found > fatal: not a git repository (or any of the parent directories): .git > CMake Error at CMakeLists.txt:21 (project): > VERSION "0.6." format invalid. |
||
---|---|---|
.github | ||
.nxxm | ||
doc | ||
examples | ||
include/ftxui | ||
src/ftxui | ||
tools | ||
.clang-format | ||
.gitlab-ci.yml | ||
.travis.yml | ||
CMakeLists.txt | ||
ftxui-config.cmake.in | ||
iwyu.imp | ||
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. Linux/mac (main target), Windows (experimental thanks to contributors), WebAssembly.
- 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 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:
- vcpkg (soon)
- Arch Linux PKGBUILD.