InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Top 23 C++ Terminal Projects
-
Windows Terminal
The new Windows Terminal and the original Windows console host, all in the same place!
Please fix this issue: https://github.com/microsoft/terminal/issues/16921 (or better yet, rewrite the whole thing in Rust)
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
FTXUI
Features: - Functional style. Inspired by [1] and React - Simple and elegant syntax (in my opinion). - Support for UTF8 and fullwidth chars (→ 测试). - No dependencies. - Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), - WebAssembly. - Keyboard & mouse navigation. Operating systems: - linux emscripten - linux gcc - linux clang - windows msvc - mac clang
But then i'm an engineer and doing things in organize manner is what i am supposed to do. And one day i came to this repo FXTUI a fantastic C++ library for creating terminal user interfaces, so i started building tuisic.
-
-
musikcube
a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
Project mention: Show HN: Kew – A Terminal Music Player for Linux | news.ycombinator.com | 2024-10-04I personally use a self hosted musikcube server [0] for playing songs. It has a great TUI and an android app. Highly recommended!
[0] - https://musikcube.com/
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
console
This is a modified version of Console 2 for a better experience under Windows Vista/7/8/10 and a better visual rendering. (by cbucher)
-
-
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.
Not exactly what you're looking for, but there's Shell in a Box (see https://github.com/shellinabox/shellinabox), that can create a terminal on a web page, and expose an actual terminal application running on a server.
One thing that is certainly doable is also to use a standard TUI framework in another language (there are many of them, e.g. https://github.com/magiblot/tvision for C++, https://github.com/charmbracelet/bubbletea for Go, etc.), compile it to WASM, and find how to bridge the WASM output to the browser (I've seen this: https://github.com/cryptool-org/wasm-webterm, but never tried it).
-
> But to make that decision, I need to see the images. I could run a bash script to generate those images in a bunch of different qualities and then view them with some kind of image viewer, but that's extra steps - and it involves creating a bunch of temporary files that I then need to clean up.
That's not correct at all. You can, in fact, do all of these steps in a single command line program with Konsole (or iTerm2 on Mac, or Kitty - whatever terminal you're using, as long as it supports these features), imagemagick, and bash.
$ for size in $(seq 10 10 100); do; convert -resize $size% input.png output_$size.webp; timg output_$size.webp; done
timg, here, is https://github.com/hzeller/timg, but you could use anything that speaks iTerm2 or kitty. This approach generalizes easily, too; you can easily use this to vary any parameter imagemagick supports, like webp compression or posterization or dithering, and print out any parameters of the image, like size, along with the image itself.
> With the web version I can snap a screenshot with CleanShot X and then drag that screenshot straight onto the web page. I instantly see the different images, pick one that looks good to me, download that and then drag it into my S3 uploading software (Transmit).
In my workflow, I edit in Showfoto or Darktable, resize (or, in my case, more often dither and resize) as demonstrated, and then `cp` the appropriate selected image into my blog's main image folder. Hardly more difficult, and while you might not enjoy it, that's exactly my point - we can both make things we like, but you're asserting that LLMs massively changed the landscape overall, while I'm not using them at all.
-
-
FabGL
ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal
Display controllers from the 8-bit era were simple conceptually but had a huge parts count, particularly it needs to have memory access logic very similar to what is in the microprocessor. The earliest home computers (TRS-80 Model I, Apple II) had a large parts count which was reduced in the next generation (TRS-80 Color Computer, VIC-20) because the glue logic and display controllers got the same LSI [1] treatment as the CPU.
People who build modern real-hardware fantasy computers [2] struggle with the cost of the display controller if it is done in an authentic style so they wind up using an FPGA or microcontroller (amazingly easy to do with ESP32 [3])
This thing addresses the problem by reusing many of the parts between the CPU and display controller, plus the contrast is not so stark since the CPU part count is greater than 1, unlike the typical retrocomputer.
It's fascinating! It's a minicomputer in the sense that it is built out of low-integration parts, but it is like a microcomputer in important ways, particularly having the closely integrated display controller.
[1] https://vaibhav-pawale19.medium.com/integrated-circuits-ssi-...
[2] http://www.commanderx16.com/
[3] https://github.com/fdivitto/FabGL
-
-
-
-
termcolor
Termcolor is a header-only C++ library for printing colored messages to the terminal. Written just for fun with a help of the Force.
-
neo
Simulates the digital rain from "The Matrix" (CMatrix clone with 32-bit color and Unicode support) (by st3w)
Project mention: 炊紙(kashikishi) is a text editor that utilizes GPU to edit text in a 3D space | news.ycombinator.com | 2024-10-03 -
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Terminal discussion
C++ Terminal related posts
-
The Cassowary Linear Arithmetic Constraint Solving Algorithm [pdf]
-
炊紙(kashikishi) is a text editor that utilizes GPU to edit text in a 3D space
-
Show HN: Kew – A Terminal Music Player for Linux
-
Terminal: A Unified Platform for Windows Terminal and Console Host
-
Tvision – A modern port of Turbo Vision 2.0
-
Entering text in the terminal is complicated
-
SCIM: Ncurses based, Vim-like spreadsheet
-
A note from our sponsor - InfluxDB
www.influxdata.com | 23 May 2025
Index
What are some of the best open-source Terminal projects in C++? This list will help you:
# | Project | Stars |
---|---|---|
1 | Windows Terminal | 98,230 |
2 | lnav | 8,751 |
3 | ConEmu | 8,746 |
4 | FTXUI | 8,230 |
5 | Clipboard | 5,214 |
6 | musikcube | 4,428 |
7 | Eternal Terminal | 3,150 |
8 | vtm | 3,044 |
9 | console | 2,932 |
10 | contour | 2,666 |
11 | Turbo Vision | 2,201 |
12 | timg | 2,201 |
13 | tabulate | 2,013 |
14 | FabGL | 1,556 |
15 | rang | 1,532 |
16 | im-select | 1,127 |
17 | FINAL CUT | 1,074 |
18 | termcolor | 868 |
19 | neo | 750 |
20 | TermOx | 730 |
21 | peaclock | 614 |
22 | turbo | 539 |
23 | mentals-ai | 433 |