FTXUI
CLI11
Our great sponsors
FTXUI | CLI11 | |
---|---|---|
39 | 12 | |
6,121 | 3,087 | |
- | 2.9% | |
8.2 | 8.5 | |
about 11 hours ago | 5 days ago | |
C++ | C++ | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
FTXUI
- Functional Terminal User Interface
-
C++ Game Utility Libraries: for Game Dev Rustaceans
GitHub repo: ArthurSonzogni/FTXUI
-
Library for NES style terminal game.
Background: I want to make a NES Tetris) clone for the terminal, with full resolution, this is achievable through using this ▀ character, and defining back and foreground color. This would result in a 1x2 pixel and by making the game width 256x120 characters this would provide full resolution. I made some tests, creating my own encoding for the different sprites and optimizing everything, which resulted in very quick printing times, even with a normal terminal. Nearly fast enough for the full 60Hz that the NES has, when printing the whole screen. The fact that i don't need to reprint the background (except maybe a tetris), makes 60Hz a kinda realistic goal. My main concern is, that there could occur kind of a screen tearing effect, which i really want to avoid. AFAIK, ncurses has a way to print the whole "window" with a function call to avoid this issue, however I had a lot of issues when trying to use ncurses to print the entire background and figured, that there are better alternatives. I also tried FTXUI and whilst the experience of giving each "pixel" a fore- and background color was much better, i didn't quite find a way to refresh the screen like ncurses. (i think there is some kind of way with the ScreenInteractive class, but i didn't get that to work, and it seemed like there was not a way to color each pixel. with InteractiveScreen you can make your own components with the whole "text()" thing, but this isn't really what i need)
-
Should I give up?
Try this library for console https://github.com/ArthurSonzogni/FTXUI
-
Cross platform terminal UI?
Depends on which level of "UI" you want. Personally I like https://github.com/ArthurSonzogni/FTXUI , but if you want to do those old TUI things then probably the (n/pd)curses libraries.
- Function composition in modern C++
-
What are some C++ projects with high quality code that I can read through?
I find openMVG very decent, FTXUI might be a good one and nlohmann's json library is also pretty nice. I don't really know of any project that strictly adheres to the core guidelines, except maybe for some of Jason Turner's (sample) projects.
- Owl: A toolkit for writing command-line user interfaces in Elixir
-
I have made a physics simulator that replicates projectile motion with quadratic drag! Please feel free to download and compile it. Let me know of any bugs!
Okay stupid suggestion I know but I've recently been learning the FTX UI library which basically adds a little bit of UI programming to the terminal and it has canvas that lets you plot pixel by pixel.
-
Text UI components like “ncurses”
No affiliation with any ponzi schemes https://github.com/ArthurSonzogni/FTXUI
CLI11
-
C++ Game Utility Libraries: for Game Dev Rustaceans
Book: CLI11 book
-
Command line interface library
The most feature-rich C++ CLI library is CLI11. Other popular choices include Boost.ProgramOptions, argparse, cxxopts and others.
-
Create Elegant C++ Spatial Processing Pipelines in WebAssembly
CLI11 provides all the features you expect in a powerful command line parser, with a beautiful, minimal syntax and no dependencies beyond C++11. itk-wasm enhances CLI11 with a itk::wasm::Pipeline wrapper to support efficient execution in multiple Wasm contexts, scientific data structures, and lovely colorized help output 🥰.
-
CLI11 is making all the other options libraries look bad, does anyone have a comparison from experience?
Does anyone have feedback on the possible problems with CLI11 and comparisons to any other thing available in the wild not limited to the choices I tried before? Looks like a very well-thought out library according to its documentation: https://cliutils.github.io/CLI11/book/
-
Creating a CLI in C++
I'd recommend to use CLI11. I was baffled by how much it can do.
-
3 Ways To Parse Command Line Arguments in C++: Quick, Do-It-Yourself, Or Comprehensive
I use https://github.com/jarro2783/cxxopts.git or https://github.com/CLIUtils/CLI11, or if boost is involved anyway, boost.program_options.
-
Carregando dependências em projetos C++ usando o CMake
get_dependency(spdlog "https://github.com/gabime/spdlog" v1.8.5) get_dependency(CLI11 "https://github.com/CLIUtils/CLI11" v1.9.1) get_dependency(GoogleTest "https://github.com/google/googletest" master)
-
cmdlime - possibly the least verbose command line parsing library for C++17
Maybe https://github.com/CLIUtils/CLI11? I really like this one and it looks like it supports TOML
-
Why no standard library support for command line parsing?
I found https://github.com/jarro2783/cxxopts to be useful and https://github.com/CLIUtils/CLI11 to be really helpful if you need an non-trivial interface.
What are some alternatives?
ncurses - snapshots of ncurses - see http://invisible-island.net/ncurses/ncurses.faq.html (no pull requests are accepted)
jarro2783/cxxopts - Lightweight C++ command line option parser
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
clipp - easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generation
notcurses - blingful character graphics/TUI library. definitely not curses.
gflags - The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used. Online documentation available at:
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
args - A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).
imtui - ImTui: Immediate Mode Text-based User Interface C++ Library
Boost.Program_options - Boost.org program_options module
Turbo Vision - A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
Vcpkg - C++ Library Manager for Windows, Linux, and MacOS