Repolode
ArthurSonzogni

ArthurSonzogni/FTXUI

Biblioteca C++ header-only para criar interfaces de terminal com um estilo funcional e baseado em componentes, sem dependências externas.

Estrelas
10,829
Forks
628
Issues abertas
34
Último commit
há 13 horas

O que é?

FTXUI é uma biblioteca C++ para criar interfaces de terminal. Ela permite que desenvolvedores descrevam layouts como uma árvore de elementos combinados com funções como hbox, vbox e gridbox, e os renderiza no terminal. Widgets interativos, como botões, menus, campos de entrada, sliders, caixas de seleção e menus suspensos, são oferecidos como componentes que respondem a eventos de teclado, mouse e redimensionamento.

A biblioteca é organizada em três módulos: screen, para renderização de baixo nível de cores e caracteres; dom, para layout e estilos; e component, para interação com o usuário e o loop principal de eventos. Ela oferece suporte a UTF-8 e caracteres de largura completa, cores, decorações de texto, desenho em canvas com caracteres braille ou blocos e animações. Não tem dependências e pode ser usada via CMake FetchContent, Bazel, Meson, vcpkg, Conan ou como uma build amalgamada em um único header, além de oferecer suporte a módulos do C++20. As plataformas compatíveis incluem Linux e macOS, WebAssembly e Windows.

Recursos principais

  • 01API funcional e baseada em componentes para compor layouts e widgets interativos
  • 02Navegação por teclado e mouse com widgets integrados, como menus, campos de entrada e sliders
  • 03Layouts flexíveis com hbox, vbox, gridbox e flexbox
  • 04Desenho em canvas usando caracteres braille, de bloco ou simples
  • 05Suporte a UTF-8 e caracteres de largura completa, sem dependências externas

Casos de uso

  • Criar ferramentas interativas de linha de comando com menus, formulários ou dashboards
  • Desenvolver jogos de terminal ou visualizações animadas em modo texto
  • Criar monitores de sistema ou visualizadores de logs que se adaptem ao tamanho do terminal

Início rápido

  1. 1

    Adicione o FTXUI ao seu projeto C++ com o CMake FetchContent, o método recomendado no README

  2. 2

    Inclua o cabeçalho <ftxui/ftxui.hpp> e vincule o target do CMake ftxui::ftxui

Antes de usar

  • Os principais sistemas-alvo são Linux e macOS; o suporte ao Windows é fornecido por colaboradores.

Tópicos

Perguntas frequentes

O que é FTXUI?
Biblioteca C++ header-only para criar interfaces de terminal com um estilo funcional e baseado em componentes, sem dependências externas. FTXUI é uma biblioteca C++ para criar interfaces de terminal. Ela permite que desenvolvedores descrevam layouts como uma árvore de elementos combinados com funções como hbox, vbox e gridbox, e os renderiza no terminal. Widgets interativos, como botões, menus, campos de entrada, sliders, caixas de seleção e menus suspensos, são oferecidos como componentes que respondem a eventos de teclado, mouse e redimensionamento.
FTXUI é gratuito? Qual é a licença?
FTXUI é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
FTXUI ainda é mantido?
Manutenção ativa. O último commit de FTXUI foi em 21 de out. de 2026.
Para que posso usar FTXUI?
Criar ferramentas interativas de linha de comando com menus, formulários ou dashboards Desenvolver jogos de terminal ou visualizações animadas em modo texto Criar monitores de sistema ou visualizadores de logs que se adaptem ao tamanho do terminal
Como instalar FTXUI?
Adicione o FTXUI ao seu projeto C++ com o CMake FetchContent, o método recomendado no README Inclua o cabeçalho <ftxui/ftxui.hpp> e vincule o target do CMake ftxui::ftxui
Onde consigo FTXUI?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ArthurSonzogni/FTXUI

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados