TUI
Jump to navigation
Jump to search
General
- https://github.com/rothgar/awesome-tuis - List of projects that provide terminal user interfaces
Libraries
curses / ncurses
- https://en.wikipedia.org/wiki/curses_(programming_library) - a terminal control library for Unix-like systems, enabling the construction of text user interface (TUI) applications. The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals (e.g., VT100).
- Announcing ncurses 6.1 - new curses) library is a free software emulation of curses in System V Release 4.0 (SVr4), and more. It uses terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SVr4-curses enhancements over BSD curses. SVr4 curses became the basis of X/Open Curses. In mid-June 1995, the maintainer of 4.4BSD curses declared that he considered 4.4BSD curses obsolete, and encouraged the keepers of unix releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses.
- https://github.com/fps/mmcurses - A small c++ library to somewhat ease ncurses programming
- https://srs.gnu.moe/list - attempt at creating a categorized list of console/ncurses programs.
- npyscreen - python widget library and application framework for programming terminal or console applications. It is built on top of ncurses, which is part of the standard library.
- PDCurses - a public domain curses library for DOS, OS/2, Windows console, X11 and SDL, implementing most of the functions available in X/Open and System V R4 curses. It supports many compilers for these platforms. The X11 port lets you recompile existing text-mode curses programs to produce native X11 applications.
- https://github.com/wmcbrine/PDCurses - a curses library for environments that don't fit the termcap/terminfo mode
- PDCurses modified/extended - a fork of "official" PDCurses. The "official" PDCurses has been inactive for a while now. This fork started out with the addition of a Windows GDI mode, alongside existing Win32 console, OS/2, X11, and SDL1 modes. The Windows console has a limited set of colors and no bold or italic text; going to a GDI mode, where we could draw whatever we wanted, meant that we could implement essentially everything specified in Curses.
FTXUI
- https://github.com/ArthurSonzogni/FTXUI - Functional Terminal (X) User interfaceA simple C++ library for terminal based user interface.
Notcurses
- Notcurses - a library for building complex, vibrant textual user interfaces (TUIs) on modern terminal emulators. It does not use Ncurses (though it does make use of libtinfo from that package), nor is it an X/Open Curses source-compatible replacement. It is written in C, with C++-safe headers. Rust, C++, and Python wrappers are available.
nocurses
- https://github.com/LionyxML/nocurses - This library provides terminal manipulation library (colors, position, clears, attributes,...) by the use of VT100 ESC sequences. It is aimed to simple applications where ncurses is simple "too much". Inspired by the old Borland conio.h for DOS.
lua-nocurses
Urwid
- Urwid - Console user interface library for Python. Display modules include raw, curses, and experimental LCD and web displays
termbox
- https://github.com/nsf/termbox-go - Pure Go termbox implementation [1]
tcell
- https://github.com/gdamore/tcell - Package tcell provides a cell based view for text terminals, like xterm. It was inspired by termbox, but differs from termbox in some important ways. It also adds substantial functionality beyond termbox. Go.
gocui
- https://github.com/jroimartin/gocui - Minimalist Go package aimed at creating Console User Interfaces.
oof
- https://github.com/s9w/oof - Convenient, high-performance RGB color and position control for console output
Bubble Tea
- https://github.com/charmbracelet/bubbletea - A powerful little TUI framework, a fun, functional and stateful way to build terminal apps. A Go framework based on The Elm Architecture. Bubble Tea is well-suited for simple and complex terminal applications, either inline, full-window, or a mix of both.
Textual
- https://github.com/Textualize/textual - a Python framework for creating interactive applications that run in your terminal. Textual adds interactivity to Rich with a Python API inspired by modern web development.On modern terminal software (installed by default on most systems), Textual apps can use 16.7 million colors with mouse support and smooth flicker-free animation. A powerful layout engine and re-usable components makes it possible to build apps that rival the desktop and web experience.
Terminal 3D Renderer
- https://github.com/MasFlam/notcurses-rend3d - A 3D renderer powered by Notcurses. As opposed to many other terminal 3D rendering programs, this uses the ability of some terminals to accept and draw pixels directly to the screen, making it possible to draw without compromising on resolution.
tui-game-inspo
- https://github.com/matanlurey/tui-game-inspo - TUI, or text-based UI, game development inspiration.
Chafa
- Chafa - The premier UX of the 21st century just got a little better: With chafa, you can now view very, very reasonable approximations of pictures and animations in the comfort of your favorite terminal emulator. The power of ANSI X3.64 compels you! A command-line utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal. It has broad feature support, allowing it to be used on devices ranging from historical teleprinters to modern terminal emulators and everything in between. The core functionality is provided by a C library with a public, well-documented API. Both library and frontend tools are covered by the Lesser GPL license, version 3 or later (LGPLv3+). The official web pages and C API documentation can be found online. Check out the gallery for screenshots.
Netext
- https://github.com/mahrz24/netext - a graph (network, rendering library for the terminal.
ft_ascii
- https://github.com/CarloCattano/ft_ascii - Experimental ascii terminal engine from scratch ( ~termio~, ~ncurses~ ). Interested in rendering graphics to terminal using just ASCII The original idea was to replace mlx library with this, in order to run cub3d on the terminal ( 42 )
huh
- https://github.com/charmbracelet/huh - A simple, powerful library for building interactive forms and prompts in the terminal.
zero
- https://github.com/sinclairzx81/zero - A 3D renderer written in JavaScript and rendered to the terminal. No GPU required.
Dashboard / framework
blessed
- https://github.com/chjj/blessed - A high-level terminal interface library for node.js.
termui
- https://github.com/gizak/termui - Golang terminal dashboard
wtf
- WTF - a personal information dashboard for your terminal, developed for those who spend most of their day in the command line. It provides a framework for rapidly viewing important at-a-glance information easily. Keep an eye on your OpsGenie schedules, Google Calendar, Git and Github repositories, and New Relic deployments. See who's away in BambooHR, which Jira tickets are assigned to you, and what time it is in Barcelona. It even has weather. And clocks. And emoji. [2]
Sampler
- https://github.com/sqshq/sampler/blob/master/README.md - a tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Xterm Window Manager
- The Xterm Window Manager - a desktop environment / window manager for the console.