notcurses
FTXUI
notcurses | FTXUI | |
---|---|---|
106 | 42 | |
3,650 | 7,039 | |
- | - | |
7.7 | 8.0 | |
12 days ago | 8 days ago | |
C | C++ | |
Apache License 2.0 | MIT License |
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.
notcurses
- Release v3.0.10–panda panda panda panda panda · dankamongmen/notcurses
- Notcursus v3.0.10 Released
-
TTE: Terminal Text Effects
Rather reminds me of Nick Black's Notcurses library.
https://nick-black.com/dankwiki/index.php/Notcurses
https://github.com/dankamongmen/notcurses
-
Text UIs != Terminal UIs
> The only reason we don't have animation frameworks for the terminal is because it's not possible
https://nick-black.com/dankwiki/index.php/Notcurses
- Notcurses: Blingful character graphics/TUI library
- Notcurses
-
good high-level ncurses library
Notcurses. Install it and run notcurses-demo to be suitably impressed.
-
Ratatui: Build rich terminal user interfaces
Same for me, I would be much more motivated if there was something like textual for Rust. Given the capability of terminal emulators now I think Rust is lacking behind in the TUI field. Just checkout what can be done with something like notcurses
-
Terminal emulators that break from the traditional rendering approach?
On the application side of rendering, see notcurses, it is at the leading edge: https://github.com/dankamongmen/notcurses
-
Doom on Teletext
Other TUI libraries of note: https://github.com/dankamongmen/notcurses/blob/master/doc/OT...
FTXUI
-
libaloo (Aloo)
libaloo is a C library which uses GTK4 behind the scenes to create an GTK application It’s mainly written in C. It also has a CLI and CLI with TUI written in C++ with FtxUI but to set it up, Python is used.
-
Things I've learned building a modern TUI Framework
FWIW, I evaluated a dozen compiled TUI libraries and found FTXUI to be the easiest to use and most reliable:
https://github.com/ArthurSonzogni/FTXUI
It's a nice tool to build interactive dashboards with both keyboard and mouse support.
- Ftxui – C++ Functional Terminal User Interface
- 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.
What are some alternatives?
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
ncurses - snapshots of ncurses - see https://invisible-island.net/personal/git-exports.html (no pull requests are accepted)
sixvid - Simple script for animated GIF viewing using sixels
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
tcell - Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
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.
xterm.js - A terminal for the web
imtui - ImTui: Immediate Mode Text-based User Interface C++ Library
awesome-tuis - List of projects that provide terminal user interfaces
sixel-tmux - sixel-tmux is a fork of tmux, with just one goal: having the most reliable support of graphics
Elements C++ GUI library - Elements C++ GUI library