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 |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
| timestamp |
2026-08-13 13:43:15 UTC (26:31 minutes 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-08-13 13:30:07 UTC (39:40 minutes 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-08-13 13:27:45 UTC (42:01 minutes 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-08-13 13:09:28 UTC (01:00:19 hours 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-08-13 13:07:35 UTC (01:02:11 hours 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-08-13 13:02:43 UTC (01:07:04 hours 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-08-13 13:00:37 UTC (01:09:09 hours 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-08-13 12:59:35 UTC (01:10:12 hours 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-08-13 12:55:38 UTC (01:14:09 hours 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-08-13 12:52:13 UTC (01:17:33 hours 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-08-13 12:13:22 UTC (01:56:24 hours ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| timestamp |
2026-08-13 10:31:18 UTC (03:38:29 hours 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-08-13 10:31:04 UTC (03:38:43 hours 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-08-13 10:30:01 UTC (03:39:45 hours 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-08-13 10:29:59 UTC (03:39:48 hours 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-08-13 10:28:55 UTC (03:40:52 hours ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| timestamp |
2026-08-13 10:28:51 UTC (03:40:56 hours ago) |
| result |
error (test) | 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-08-12 14:56:32 UTC (23:13:14 hours 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-08-12 14:55:43 UTC (23:14:04 hours 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-08-12 14:54:53 UTC (23:14:53 hours ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2026-08-12 10:28:40 UTC (01 03:41:07 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-08-12 10:28:36 UTC (01 03:41:10 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-08-12 10:27:16 UTC (01 03:42:30 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-08-12 10:26:56 UTC (01 03:42:51 days ago) |
| result |
error (test) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++-static_O3 |
| timestamp |
2026-08-11 13:16:16 UTC (02 00:53: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-clang_22-O3 |
| timestamp |
2026-08-11 13:16:11 UTC (02 00:53:35 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-08-11 13:15:48 UTC (02 00:53:58 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-08-11 13:15:31 UTC (02 00:54: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_libc++ |
| timestamp |
2026-08-11 13:15:05 UTC (02 00:54:42 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-08-11 13:14:50 UTC (02 00:54: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 |
| timestamp |
2026-08-11 13:14:21 UTC (02 00:55:25 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-08-11 13:09:23 UTC (02 01:00:24 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-08-11 13:09:07 UTC (02 01:00: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-O3 |
| timestamp |
2026-08-11 13:08:40 UTC (02 01:01: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-gcc_16 |
| timestamp |
2026-08-11 13:08:26 UTC (02 01:01:20 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13 |
| timestamp |
2026-08-11 10:16:04 UTC (02 03:53:42 days ago) |
| result |
error (test) | 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-08-08 03:33:32 UTC (05 10:36:15 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-08-08 03:32:29 UTC (05 10:37:18 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-08-08 03:30:47 UTC (05 10:38:59 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-static_O2 |
| timestamp |
2026-08-07 11:39:04 UTC (06 02:30:42 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-08-07 11:38:41 UTC (06 02:31:06 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-08-07 11:37:46 UTC (06 02:32:01 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-08-07 10:26:19 UTC (06 03:43:28 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-08-06 11:21:34 UTC (07 02:48:13 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-08-04 12:46:57 UTC (09 01:22:50 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-08-04 10:37:53 UTC (09 03:31:53 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-08-04 10:37:46 UTC (09 03:32:01 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-08-02 00:05:23 UTC (11 14:04:24 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-07-31 16:15:39 UTC (12 21:54:08 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-07-31 16:13:24 UTC (12 21:56:23 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-07-31 16:11:03 UTC (12 21:58:44 days ago) |
| result |
warning (test) | warning (test-installed) | log | rebuild |