Functional Terminal (X) User interface - A simple C++ library for terminal based user interfaces!
FTXUI
Functional Terminal (X) User interface
A simple C++ library for terminal based user interfaces!
Feature
- Functional style. Inspired by
[1]
and React
- Simple and elegant syntax (in my opinion)
- Keyboard & mouse navigation.
- Support for UTF8 and fullwidth chars (→ 测试)
- Support for animations. Demo 1, Demo 2
- Support for drawing. Demo
- No dependencies
- Cross platform: Linux/MacOS (main target), WebAssembly, Windows (Thanks to contributors!).
- Learn by examples, and tutorials
- Multiple packages: CMake FetchContent (preferred), vcpkg, pkgbuild, conan.
- Good practises: documentation, tests, fuzzers, performance tests, automated CI, automated packaging, etc...
Tests
Examples
Reviews
Builds
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| timestamp |
2026-05-15 10:23:31 UTC (27:34 minutes ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
| timestamp |
2026-05-15 10:23:23 UTC (27:41 minutes ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| timestamp |
2026-05-15 10:22:23 UTC (28:42 minutes ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| timestamp |
2026-05-15 10:22:20 UTC (28:44 minutes ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| timestamp |
2026-05-15 10:21:16 UTC (29:48 minutes ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-static_O3 |
| timestamp |
2026-05-15 10:21:12 UTC (29:52 minutes ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2026-05-14 10:27:30 UTC (01 00:23:34 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2026-05-14 10:27:16 UTC (01 00:23:48 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2026-05-14 10:26:10 UTC (01 00:24:55 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2026-05-14 10:24:31 UTC (01 00:26:33 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13 |
| timestamp |
2026-05-13 10:17:41 UTC (02 00:33:23 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18-static_O2 |
| timestamp |
2026-05-12 03:33:54 UTC (03 07:17:11 days ago) |
| result |
warning (update) | warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18-O2 |
| timestamp |
2026-05-12 03:33:29 UTC (03 07:17:35 days ago) |
| result |
warning (update) | warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18 |
| timestamp |
2026-05-12 03:31:38 UTC (03 07:19:27 days ago) |
| result |
warning (update) | warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18-static_O2 |
| timestamp |
2026-05-12 03:24:03 UTC (03 07:27:01 days ago) |
| result |
warning (update) | warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18-O2 |
| timestamp |
2026-05-12 03:24:02 UTC (03 07:27:02 days ago) |
| result |
warning (update) | warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18 |
| timestamp |
2026-05-12 03:23:12 UTC (03 07:27:53 days ago) |
| result |
warning (update) | warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17 |
| timestamp |
2026-05-11 14:36:04 UTC (03 20:15:00 days ago) |
| result |
warning (update) | warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_26.04-gcc_15-bindist |
| timestamp |
2026-05-11 05:28:54 UTC (04 05:22:10 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64-static_O2 |
| timestamp |
2026-05-09 06:27:08 UTC (06 04:23:57 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64-O2 |
| timestamp |
2026-05-09 06:25:24 UTC (06 04:25:41 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64 |
| timestamp |
2026-05-09 06:24:57 UTC (06 04:26:07 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_44-gcc_16-bindist |
| timestamp |
2026-05-05 23:34:52 UTC (09 11:16:13 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-static_O3 |
| timestamp |
2026-05-02 13:52:27 UTC (12 20:58:37 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-O3 |
| timestamp |
2026-05-02 13:51:40 UTC (12 20:59:25 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0 |
| timestamp |
2026-05-02 13:50:51 UTC (12 21:00:13 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-static_O3 |
| timestamp |
2026-05-01 16:07:35 UTC (13 18:43:29 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-O3 |
| timestamp |
2026-05-01 16:04:25 UTC (13 18:46:39 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew |
| timestamp |
2026-05-01 16:00:55 UTC (13 18:50:10 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin22.5.0 |
| tgt config |
macos_13-clang_15.0 |
| timestamp |
2026-05-01 12:13:24 UTC (13 22:37:40 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-static_O3 |
| timestamp |
2026-05-01 12:13:16 UTC (13 22:37:48 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-ndebug_O3 |
| timestamp |
2026-05-01 12:13:16 UTC (13 22:37:48 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-O3 |
| timestamp |
2026-05-01 12:13:07 UTC (13 22:37:57 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++-static_O3 |
| timestamp |
2026-05-01 12:12:56 UTC (13 22:38:08 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_43-gcc_15-bindist |
| timestamp |
2026-05-01 12:12:56 UTC (13 22:38:08 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++-O3 |
| timestamp |
2026-05-01 12:12:55 UTC (13 22:38:10 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
| timestamp |
2026-05-01 12:12:54 UTC (13 22:38:11 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_21_libc++ |
| timestamp |
2026-05-01 12:12:49 UTC (13 22:38:15 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22-O3 |
| timestamp |
2026-05-01 12:12:37 UTC (13 22:38:27 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_14-bindist |
| timestamp |
2026-05-01 12:12:34 UTC (13 22:38:30 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_15-O3 |
| timestamp |
2026-05-01 12:12:25 UTC (13 22:38:39 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16 |
| timestamp |
2026-05-01 12:12:20 UTC (13 22:38:44 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22-static_O3 |
| timestamp |
2026-05-01 12:12:18 UTC (13 22:38:47 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++ |
| timestamp |
2026-05-01 12:12:14 UTC (13 22:38:50 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_15 |
| timestamp |
2026-05-01 12:12:05 UTC (13 22:38:59 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22 |
| timestamp |
2026-05-01 12:11:57 UTC (13 22:39:07 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_21 |
| timestamp |
2026-05-01 12:11:50 UTC (13 22:39:15 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19-static_O3 |
| timestamp |
2026-05-01 12:11:40 UTC (13 22:39:25 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19 |
| timestamp |
2026-05-01 12:11:36 UTC (13 22:39:28 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19-O3 |
| timestamp |
2026-05-01 12:11:34 UTC (13 22:39:30 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18 |
| timestamp |
2026-05-01 12:10:59 UTC (13 22:40:05 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |