2026-01-07 03:34:20 +00:00

3.3 KiB

poomer-ftxui-modal_select

c++ mockup demonstrating ftxui modal interface

This program is a simple example of how to use the ftxui library to create a modal dialog.

  • select an address from a list of addresses in a modal dialog.
  • select a file from a list of files in a modal dialog.
  • enter an address manually.
  • creates a JSON file to store the addresses with nlohmann/json.hpp
  • FXTUI links statically

FTXUI is a library that allows you to create text-based user interfaces. It is a lightweight library that is easy to use and understand. It is a modern C++ library that provides a functional approach to building terminal applications.

Ubuntu ubuntu

MacOS macos

Windows windows

Build

workdir/
├── FTXUI/
├── poomer-fxtui-modal_select/
└── cmake/ (macos)

Ubuntu Linux x64

mkdir workdir && cd workdir
mkdir FTXUI poomer-ftxui-modal_select && cd FTXUI

## Build ftxui
git clone https://github.com/ArthurSonzogni/FTXUI .
cmake -B ./build
cmake --build ./build -j$(nproc)
[OPTIONAL] cmake -B ./build -DFTXUI_BUILD_EXAMPLES=ON 

## Build poomer-ftxui-modal_select
cd ../poomer-ftxui-modal_select
wget https://github.com/nlohmann/json/releases/download/v3.12.0/json.hpp
git clone https://git.indoodle.com/oomer/poomer-ftxui-modal_select.git .
g++ poomer-ftxui-modal_select.cpp -o poomer-ftxui-modal_select -std=c++17 -I../FTXUI/include/ -L../FTXUI/build -lftxui-component -lftxui-dom -lftxui-screen -I.
./poomer-ftxui-modal_select

MacOS

# Install xcode
xcode-select --install

mkdir workdir && cd workdir
mkdir cmake FTXUI poomer-ftxui-modal_select

# Build cmake
cd cmake
git clone https://github.com/Kitware/CMake.git .
./configure
make -j$(sysctl -n hw.ncpu)

# Build ftxui
cd ../FTXUI
git clone https://github.com/ArthurSonzogni/FTXUI .
../cmake/bin/cmake -B ./build
../cmake/bin/cmake --build ./build -j$(sysctl -n hw.ncpu)

# Build poomer-ftxui-modal_select
cd ../poomer-ftxui-modal_select
wget https://github.com/nlohmann/json/releases/download/v3.12.0/json.hpp
git clone https://git.indoodle.com/oomer/poomer-ftxui-modal_select.git .
g++ poomer-ftxui-modal_select.cpp -o poomer-ftxui-modal_select -std=c++17 -I../FTXUI/include/ -L../FTXUI/build -lftxui-component -lftxui-dom -lftxui-screen -I.
./poomer-ftxui-modal_select

Windows x64

  • Download Visual Studio Community Edition
  • Run VisualStudioSetup.exe
  • Workload = [x] Desktop development with C++
  • Individual components = [x] Git For Windows

x64 Native Tools for VS

mkdir workdir && cd workdir
mkdir FTXUI poomer-ftxui-modal_select && cd FTXUI

# Build FTXUI
git clone https://github.com/ArthurSonzogni/FTXUI .
cmake -B ./build -DFTXUI_MICROSOFT_TERMINAL_FALLBACK=ON 
[OPTIONAL] cmake -B ./build -DFTXUI_BUILD_EXAMPLES=ON 
cmake --build ./build --config Release -j%NUMBER_OF_PROCESSORS%

# Build poomer-ftxui-modal-select
cd ../poomer-ftxui-modal_select
wget https://github.com/nlohmann/json/releases/download/v3.12.0/json.hpp
git clone https://git.indoodle.com/oomer/poomer-ftxui-modal_select.git .
cl /MD /std:c++17 poomer-ftxui-modal_select.cpp /Fe:poomer-ftxui-modal_select.exe /I..\FTXUI\include\ /I. /link ..\FTXUI\build\Release\ftxui-component.lib ..\FTXUI\build\Release\ftxui-screen.lib ..\FTXUI\build\Release\ftxui-dom.lib
.\poomer-ftxui-modal_select.exe