2019-01-06 01:37:26 +01:00
|
|
|
# FTXUI
|
2019-01-27 16:56:37 +01:00
|
|
|
|
2020-04-10 14:46:42 +02:00
|
|
|
[![issues][badge.issues]][issues]
|
|
|
|
|
[![license][badge.license]][license]
|
2020-04-10 14:48:52 +02:00
|
|
|
[![contributors][badge.contributors]][contributors]
|
2020-03-27 01:20:06 +01:00
|
|
|
|
2020-04-10 14:46:42 +02:00
|
|
|
[badge.issues]: https://img.shields.io/github/issues-raw/arthursonzogni/FTXUI
|
|
|
|
|
[badge.license]: https://img.shields.io/github/license/arthursonzogni/FTXUI?color=black
|
2020-04-10 14:48:52 +02:00
|
|
|
[badge.contributors]: https://img.shields.io/github/contributors/arthursonzogni/FTXUI?color=blue
|
2021-03-21 14:08:09 +01:00
|
|
|
|
2020-04-10 14:46:42 +02:00
|
|
|
[issues]: https://github.com/ArthurSonzogni/FTXUI/issues
|
|
|
|
|
[license]: http://opensource.org/licenses/MIT
|
2020-04-10 14:48:52 +02:00
|
|
|
[contributors]: https://github.com/ArthurSonzogni/FTXUI/graphs/contributors
|
2020-04-10 14:46:42 +02:00
|
|
|
|
2020-04-10 14:28:12 +02:00
|
|
|
**Functional Terminal (X) User interface**
|
|
|
|
|
|
|
|
|
|
A simple C++ library for terminal based user interface.
|
|
|
|
|
|
2019-01-27 16:56:37 +01:00
|
|
|
## Demo:
|
|
|
|
|

|
|
|
|
|
|
2019-01-06 01:37:26 +01:00
|
|
|
## Feature
|
2019-01-27 17:20:55 +01:00
|
|
|
* Functional style. Inspired by
|
2019-06-29 19:05:22 +02:00
|
|
|
[[1]](https://hackernoon.com/building-reactive-terminal-interfaces-in-c-d392ce34e649?gi=d9fb9ce35901)
|
2019-01-27 17:20:55 +01:00
|
|
|
and [React](https://reactjs.org/)
|
2019-01-06 01:37:26 +01:00
|
|
|
* Simple and elegant syntax (in my opinion).
|
2019-06-29 19:05:22 +02:00
|
|
|
* Support for [UTF8](https://en.wikipedia.org/wiki/UTF-8) and [fullwidth chars](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) (→ 测试)
|
2019-01-06 01:37:26 +01:00
|
|
|
* No dependencies.
|
2020-08-16 00:24:18 +02:00
|
|
|
* Cross platform (mostly). Linux (main target), Windows (experimental), Mac.
|
2021-05-01 23:54:51 +02:00
|
|
|
* Keyboard & mouse navigation.
|
2019-01-18 22:45:25 +01:00
|
|
|
|
2021-03-21 14:08:09 +01:00
|
|
|
## Operating systems
|
|
|
|
|
- [![linux-gcc][badge.linux-gcc]][link.linux-gcc]
|
2021-03-22 00:28:19 +01:00
|
|
|
[![linux-clang][badge.linux-clang]][link.linux-clang]
|
|
|
|
|
[![linux-emscripten][badge.linux-emscripten]][link.linux-emscripten]
|
2021-03-21 14:08:09 +01:00
|
|
|
- [![windows-msvc][badge.windows-msvc]][link.windows-msvc]
|
|
|
|
|
- [![mac-clang][badge.mac-clang]][link.mac-clang]
|
|
|
|
|
|
|
|
|
|
[badge.linux-gcc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-gcc.yaml/badge.svg?branch=master
|
|
|
|
|
[badge.linux-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-clang.yaml/badge.svg?branch=master
|
|
|
|
|
[badge.linux-emscripten]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-emscripten.yaml/badge.svg?branch=master
|
|
|
|
|
[badge.windows-msvc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/windows-msvc.yaml/badge.svg?branch=master
|
|
|
|
|
[badge.mac-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/mac-clang.yaml/badge.svg?branch=master
|
|
|
|
|
|
|
|
|
|
[link.linux-gcc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-gcc.yaml
|
|
|
|
|
[link.linux-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-clang.yaml
|
|
|
|
|
[link.linux-emscripten]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-emscripten.yaml
|
|
|
|
|
[link.windows-msvc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/windows-msvc.yaml
|
|
|
|
|
[link.mac-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/mac-clang.yaml
|
|
|
|
|
|
2019-01-06 01:37:26 +01:00
|
|
|
## Example:
|
|
|
|
|
~~~cpp
|
2020-05-20 22:12:20 +02:00
|
|
|
vbox({
|
|
|
|
|
hbox({
|
2019-01-19 22:06:05 +01:00
|
|
|
text(L"left") | border,
|
|
|
|
|
text(L"middle") | border | flex,
|
2020-06-01 23:40:32 +02:00
|
|
|
text(L"right") | border,
|
2020-05-20 22:12:20 +02:00
|
|
|
}),
|
2020-06-01 23:40:32 +02:00
|
|
|
gauge(0.5) | border,
|
|
|
|
|
});
|
2019-01-06 01:37:26 +01:00
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
~~~bash
|
|
|
|
|
┌────┐┌───────────────────────────────────────────────────────────────┐┌─────┐
|
|
|
|
|
│left││middle ││right│
|
|
|
|
|
└────┘└───────────────────────────────────────────────────────────────┘└─────┘
|
|
|
|
|
┌────────────────────────────────────────────────────────────────────────────┐
|
|
|
|
|
│██████████████████████████████████████ │
|
|
|
|
|
└────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
|
~~~
|
|
|
|
|
|
2020-08-09 17:14:31 +02:00
|
|
|
# Documentation:
|
2019-02-02 01:59:48 +01:00
|
|
|
|
2020-08-10 18:26:28 +02:00
|
|
|
- [Starter example project](https://github.com/ArthurSonzogni/ftxui-starter)
|
2021-03-21 13:42:12 +01:00
|
|
|
- [Documentation](https://arthursonzogni.com/FTXUI/doc/)
|
2021-03-22 00:26:52 +01:00
|
|
|
- [Examples (WebAssembly)](https://arthursonzogni.com/FTXUI/examples/)
|
2020-08-09 17:14:31 +02:00
|
|
|
- [Build using CMake](https://arthursonzogni.com/FTXUI/doc/#build-using-cmake)
|
|
|
|
|
- [Build using nxxm](https://arthursonzogni.com/FTXUI/doc/#build-using-cmake)
|
2019-01-06 01:37:26 +01:00
|
|
|
|
2019-01-27 17:11:43 +01:00
|
|
|
## Project using FTXUI
|
2020-04-19 21:46:37 +02:00
|
|
|
|
|
|
|
|
Feel free to add your projects here:
|
2020-05-29 22:51:34 +02:00
|
|
|
- [chrome-log-beautifier](https://github.com/ArthurSonzogni/chrome-log-beautifier)
|
2020-05-14 19:12:35 +02:00
|
|
|
- [x86-64 CPU Architecture Simulation](https://github.com/AnisBdz/CPU)
|
2020-08-12 22:18:59 +02:00
|
|
|
- [ltuiny](https://github.com/adrianoviana87/ltuiny)
|
2020-04-19 21:46:37 +02:00
|
|
|
- [i3-termdialogs](https://github.com/mibli/i3-termdialogs)
|
2020-05-01 17:12:39 +02:00
|
|
|
- [Just-Fast](https://github.com/GiuseppeCesarano/just-fast)
|
2020-08-12 16:23:39 +02:00
|
|
|
- [simpPRU](https://github.com/VedantParanjape/simpPRU)
|
2020-09-06 13:53:33 +02:00
|
|
|
- [Pigeon ROS TUI](https://github.com/PigeonSensei/Pigeon_ros_tui)
|
2021-02-14 19:39:22 +01:00
|
|
|
- [hastur](https://github.com/robinlinden/hastur)
|
|
|
|
|
- [CryptoCalculator](https://github.com/brevis/CryptoCalculator)
|
2021-04-23 14:09:12 +02:00
|
|
|
- [todoman](https://github.com/aaleino/todoman)
|
2019-01-27 17:11:43 +01:00
|
|
|
|
2019-01-27 17:20:55 +01:00
|
|
|
## Hosted on:
|
|
|
|
|
* [github](https://github.com/ArthurSonzogni/ftxui)
|
|
|
|
|
* [gitlab](https://gitlab.com/ArthurSonzogni/ftxui)
|