0
0
mirror of https://github.com/ArthurSonzogni/ftxui.git synced 2026-01-18 17:21:33 +01:00

817 Commits

Author SHA1 Message Date
ArthurSonzogni
3317c1dd48 Add sweeper to README.md
See:https://github.com/ArthurSonzogni/FTXUI/discussions/1174
2026-01-08 15:26:34 +01:00
ArthurSonzogni
3330de961c Make Input style colorscheme agnostic.
This wasn't working well with pytxis.

Fixed:https://github.com/ArthurSonzogni/FTXUI/issues/1170
2025-12-29 11:31:35 +01:00
ArthurSonzogni
29ff502e43 Fix reload error on Chinese documentation.
This resolve the problem found by:
https://github.com/ArthurSonzogni/FTXUI/issues/1105#issuecomment-3684821405
2025-12-29 11:05:38 +01:00
Appisolato
e7faa542ff Adding navigation-tree component (#1168) 2025-12-27 19:26:47 +01:00
Xiao Di
911483afac Fixed two potential issues (#1171)
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2025-12-27 19:25:52 +01:00
ArthurSonzogni
9008c26715 Fix gcc compile error. 2025-12-17 16:00:16 +01:00
ArthurSonzogni
ad860c5938 Fix webgl addons. 2025-12-17 10:41:10 +01:00
ArthurSonzogni
76788aabe2 Fix Uninstall() Posting OnExit() task.
When using `WithRestoredIO()` or nested component, where Uninstall() was
followed by Install(), it caused a problem. The pending task to
`OnExit()` was causing the loop to immediately stop after restarting.

Fixed: https://github.com/ArthurSonzogni/FTXUI/issues/1162
2025-12-17 10:31:09 +01:00
ArthurSonzogni
1531d71d02 Remove unimplemented deprecated function. 2025-12-17 10:06:23 +01:00
ArthurSonzogni
7bbb0ce324 Fix std::string_view compile issues.
The previous patch turning every `const std::string&` into
std::string_view had some rough edges.

Bug:https://github.com/ArthurSonzogni/FTXUI/issues/1166
2025-12-17 09:55:07 +01:00
Rucadi
170c1b94dd Update nix lock and make nix package follow the current version (#1164) 2025-12-14 19:57:10 +01:00
ArthurSonzogni
942ab6a82d Add std::string_view to ConstStringRef 2025-12-14 18:08:16 +01:00
Miko
9f4b2bcf96 Add string view overloads (#1154)
This is better ergonomic, as `std::string_view` is lightweight and accept more conversion than `const std::string&`.

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2025-12-13 20:22:11 +01:00
Daisuke Kato
117417e841 fix(bazel): ensure FTXUI is publicly accessible and add external smoke test (#1157)
- Set `visibility = ["//visibility:public"]` on the top-level `:ftxui` alias
  so the library can be consumed from external Bazel workspaces.
- Add `bazel_integration/` minimal external workspace to validate
  external usage via Bzlmod.
- Introduce `smoke` target that depends on `@ftxui//:ftxui`.
- Add CI job to build the smoke target using:
    --enable_bzlmod
    --override_module=ftxui=..
  This prevents regressions in visibility or public API changes.

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2025-12-13 19:49:42 +01:00
ArthurSonzogni
c8fbef03c9 Improve translator 2025-12-06 11:00:35 +01:00
739C1AE2
183a426efa Fix UTF-16 surrogate pair handling on Windows input (#1160)
Fix(Windows): Correctly handle UTF-16 surrogate pairs for non-BMP input.

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2025-12-06 10:59:43 +01:00
Caio Reis
d9c62b3678 Fix cmake command in manual installation (#1159)
CMake Error: -D must be followed with VAR=VALUE
2025-12-05 09:04:49 +01:00
Xiao Di
1d5516a8a5 Added the translation link (#1156) 2025-12-05 09:04:21 +01:00
ArthurSonzogni
e986b98faf Add new translations. 2025-11-25 09:51:47 +01:00
ArthurSonzogni
97ffd572df Fix fetching of translations. 2025-11-24 13:10:41 +01:00
ArthurSonzogni
a1df432245 Fix fetching of translations. 2025-11-24 11:19:35 +01:00
ArthurSonzogni
26d0aa986a Documentation: Fix fetching of translations. 2025-11-24 10:49:50 +01:00
ArthurSonzogni
73707b5b00 Add chinese and french to the documentation. 2025-11-23 20:13:29 +01:00
ArthurSonzogni
69d645ca04 Add translation tool.
Using Gemini, this provides a way to create translation of the
repository, Contributors can improve the translation as needed while
still having the ability to keep it in sync automatically.

This was discussed in:
https://github.com/ArthurSonzogni/FTXUI/pull/1141
2025-11-23 17:38:17 +01:00
Miko
229cae78b5 Use module partitions instead of full modules (#1146)
Follow-up to #1015. This pull request replaces the full modules that represent headers, with partitions, to emphasise the belonging of the header to the module. This should hopefully provide a speedup to compilation, and confuse users less by aggregating the usable modules into a smaller set.
2025-11-12 13:42:37 +01:00
ArthurSonzogni
e87d5ff95a Fix example links. 2025-11-09 16:56:08 +01:00
ArthurSonzogni
e0d98feb34 Fix documentation examples. 2025-10-23 13:46:32 +02:00
ArthurSonzogni
8bdf7cd701 Fix windows build. 2025-10-19 19:34:52 +02:00
ArthurSonzogni
01d2451dfd Fix build. 2025-10-19 18:24:39 +02:00
Harri Pehkonen
1d0913bfb9 Adds opt-in support for applications that need to read piped data from stdin while still receiving interactive keyboard input (#1094)
Enables applications to read piped data while maintaining interactive
keyboard input by redirecting stdin to /dev/tty when explicitly enabled.


Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2025-10-19 17:17:28 +02:00
ArthurSonzogni
a0ce9bf55d Fix previous patch. 2025-10-19 17:08:39 +02:00
Nicolas Busser
09e690f8ab Add Merge() specializations to support more Element containers (#1117)
`Merge()` was previously only supporting `Elements` as a `Element` container.  
This PR adds specialization for:
- all the containers that matches the concept `std::ranges::range`
- `std::queue`
- `std::stack`

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
Bug:https://github.com/ArthurSonzogni/FTXUI/issues/1108
Fixed:https://github.com/ArthurSonzogni/FTXUI/issues/1108
2025-10-19 16:53:33 +02:00
its-pablo
68281ce3e8 Mitigate integer overflow in ComputeShrinkHard (#1138)
The multiplication in ComputeShrinkHard has the potential to overflow when
very large elements are present inside of a vbox. To mitigate the issue, the
multiplication happens in int64_t values.

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2025-10-19 10:06:46 +02:00
ArthurSonzogni
d4fda16e20 Bump google-test library version. 2025-10-19 09:13:46 +02:00
ArthurSonzogni
2b9913e2eb Fix the multiversion_doc. 2025-10-18 18:52:25 +02:00
Arthur Sonzogni
b1bc0ff982 Add versioned documentation (#1123)
They are added under /en/<version>/

This might be helpful, before adding new supported languages.
https://github.com/ArthurSonzogni/FTXUI/issues/1105
2025-10-18 18:35:10 +02:00
Copilot
252ce67830 Add min_size and max_size options to ResizableSplit component (#1132)
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>



Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
Bug:https://github.com/ArthurSonzogni/FTXUI/issues/1131
Bug:https://github.com/ArthurSonzogni/FTXUI/discussions/1130
2025-10-18 11:17:59 +02:00
Tino
e858bf9809 Add 'typing-speed-test' to README.md (#1126) 2025-10-08 10:15:39 +02:00
Hector Queiróz
e5652f11ec updated bazel build example section in README (#1128) 2025-10-08 10:15:25 +02:00
Arthur Sonzogni
412d8c14e4 Fix CMake 3.12 compatibility by adding required install destinations (#1127)
The `install(TARGETS ...)` command in `cmake/ftxui_install.cmake` was missing required destination specifications that became mandatory in CMake 3.12+. This caused build failures when users tried to install FTXUI with the minimum supported CMake version.

The issue occurred because the install command:

```cmake
install(
  TARGETS screen dom component
  EXPORT ftxui-targets
  )
```

Was missing explicit destination specifications for different artifact types. CMake 3.12+ requires these destinations to be explicitly declared.

This PR adds the required destination specifications:

```cmake
install(
  TARGETS screen dom component
  EXPORT ftxui-targets
  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
  )
```

The fix ensures that:
- Static libraries (`.a` files) are installed to the archive destination
- Shared libraries are installed to the library destination
- Executables are installed to the runtime destination

All destinations use CMake's standard directory variables for proper cross-platform compatibility. The change is backward compatible and maintains the same installation behavior while satisfying CMake 3.12+ requirements.

Fixes #1118.
2025-09-30 18:38:55 +02:00
meekee7
a3103f5cd4 Add missing include for std::max (#1124) 2025-09-23 08:03:54 +02:00
Copilot
8249fcb41e Add comprehensive GitHub Copilot instructions for FTXUI development (#1121) 2025-09-21 10:30:52 +02:00
Benjamin Gwin
f21fcc1995 Fix use of uninitialized cursor variable (#1111)
The cursor_ variable was being default initialized, which causes
undefined behaviour when accessing properties in
ScreenInteractive::Draw. This caused a crash when running with UBSAN.

```
ftxui/src/ftxui/component/screen_interactive.cpp:852:17: runtime error:
load of value 4195502944, which is not a valid value for type 'Shape'
```

This change causes the shape variable to be explicitly initialized,
similar to the x and y members.

Co-authored-by: Benjamin Gwin <bgwin@google.com>
2025-09-09 07:34:35 +02:00
birland
f7ac35ed35 Add tic-tac-toe as an example project using FTXUI (#1109) 2025-09-07 09:20:11 +02:00
nodeluna
fba510ec02 fixed a typo (#1110) 2025-09-07 09:19:17 +02:00
Xiao Di
775ad9ce5e Improved the installation method via Conan. (#1106) 2025-09-01 10:02:57 +02:00
Samuel Bridgham
f5785fd3b4 Fixed bug in component/button example: (#1107)
- The '-1' and '+1' buttons now correctly increment and decrement.
 - Previously it was vice versa.s
2025-09-01 10:02:21 +02:00
Arthur Sonzogni
853d87e917 Fix HTML entities in README.md 2025-08-29 07:36:35 +02:00
d06i
11f7132886 Add new project to the list (#1102)
Co-authored-by: d06i <llll@DESKTOP-C8VGJLV>
2025-08-26 12:47:10 +02:00
ArthurSonzogni
346f751527 Fix example in docs not being generated.
Fixed:https://github.com/ArthurSonzogni/FTXUI/issues/1088
2025-08-21 08:05:23 +02:00