Turbo Vision
FTXUI
Turbo Vision | FTXUI | |
---|---|---|
29 | 43 | |
2,358 | 8,430 | |
6.1% | 1.7% | |
8.5 | 8.8 | |
about 2 months ago | 7 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | 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.
Turbo Vision
-
Microsoft Releases Classic MS-DOS Editor for Linux Written in Rust
For those curious, here is a modern port of the C++ Turbo Vision that also supports Unicode:
https://github.com/magiblot/tvision
-
DOjS – A DOS JavaScript Canvas with Sound
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).
- Tvision – A modern port of Turbo Vision 2.0
- SCIM: Ncurses based, Vim-like spreadsheet
- Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?
- Turbo Pascal Turns 40
-
Turbo Pascal or Delphi for Text Screen Applications
With FPC, you can use Free Vision, which is a supposed to be like a remake of the old Borland Turbo Vision. Alternatively for C++.
- What is a low-level UI library that allows me to make my own text widgets?
-
Using byte array for window?
Talking about a window display from byte array sounds like windowing for a purely text based (console based) user interface, like the 1990's Borland's old Turbo Vision. There are modern ports of Turbo Vision, e.g. superquick googling found one at GitHub.
-
Terminal.Gui – Cross Platform Terminal UI Toolkit for .NET
there is also a port of the "original":
https://github.com/magiblot/tvision
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
FTXUI
-
Introducing TUISIC: TUI Music Streaming App.
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.
-
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 alternatives?
FINAL CUT - The modern text-based widget toolkit.
ncurses - snapshots of ncurses - see https://invisible-island.net/personal/git-exports.html (no pull requests are accepted)
Elements C++ GUI library - Elements C++ GUI library
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies