TUI

From Things and Stuff Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


General

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.





  • 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.


  • 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

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


termbox


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

oof

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

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

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

zero

Dashboard / framework

blessed

termui


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

Xterm Window Manager