TUIs

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • awesome-tuis

    List of projects that provide terminal user interfaces

  • Github still has atom feeds for repos, for example: https://github.com/rothgar/awesome-tuis/commits/master.atom Unfortunately they don't really make links to these feeds very visible in the UI anymore. But toss that in your feed reader of choice and you'll get an update when the awesome list content changes.

  • hnterm

    :page_with_curl: Hacker News in the terminal

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • TerminusBrowser

    CLI Reddit, Hacker News, 4chan, and lainchan browser

  • mcfly

    Fly through your shell history. Great Scott!

  • One of the most useful for me is McFly[1], which provides a nice U/I on top of history. Works with both bash and zsh shells. You can remove entries from your history as well all within the McFly U/I. Game changer.

    [1] https://github.com/cantino/mcfly

  • browsh

    A fully-modern text-based browser, rendering to TTY and browsers

  • TUIs are very pretty and very convenient. Unfortunately rendering to the Terminal is...slow. See https://github.com/browsh-org/browsh.

    Honestly I wonder if there is a way to speed it up. Like a new terminal mode which lets you write or color a particular row/column directly, or utilizes the GPU to render to each pixel, or really anything better than literally printing text with fancy spacing, escapes, etc. on each refresh.

    Until then, anything which is render-intensive you're much better using a GUI, even if it's just a shell script which opens a window while it's running.

  • awesome-awesomeness

    A curated list of awesome awesomeness

  • scli

    a simple terminal user interface for signal messenger (using signal-cli)

  • Surprised scli isn't in there. It's one of the few pieces of software that I'll actually advocate for: super stable, great bindings if you're coming from vim, and surprisingly complete.

    [1] https://github.com/isamert/scli/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • tcell

    Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.

  • How about some libraries that help with building TUIs?

    I'll start with https://github.com/gdamore/tcell

  • hackernews-TUI

    A Terminal UI to browse Hacker News

  • neix

    Discontinued neix - a RSS/Atom feed reader for your terminal.

  • xtermwm

  • slmenu

    Clone of https://bitbucket.org/rafaelgg/slmenu with my own improvements

  • dmenu is great for a graphical environment. At the prompt, I've found some success with slmenu [0]. It's a dmenu clone for the command line. It works well enough that a dmenu script for a todo app works with very little changes [1]. As a launcher there's many dmenu example scripts to start from. Youtube has videos to get you started as well [2].

    [0] https://github.com/lpsantil/slmenu

    [1] https://github.com/lpsantil/slmenu-todo

    [2] https://youtu.be/SlJto75auCA

  • slmenu-todo

    A fork of suckless' dmenu todo for use with slmenu

  • dmenu is great for a graphical environment. At the prompt, I've found some success with slmenu [0]. It's a dmenu clone for the command line. It works well enough that a dmenu script for a todo app works with very little changes [1]. As a launcher there's many dmenu example scripts to start from. Youtube has videos to get you started as well [2].

    [0] https://github.com/lpsantil/slmenu

    [1] https://github.com/lpsantil/slmenu-todo

    [2] https://youtu.be/SlJto75auCA

  • alot

    Terminal-based Mail User Agent

  • If you like sup-mail, I recommend also trying notmuch via alot.

    https://notmuchmail.org/

    https://github.com/pazz/alot

    There are other options if you don't like alot. See:

    https://notmuchmail.org/frontends/

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

  • GNU Emacs

    Mirror of GNU Emacs

  • How about playing tetris inside emacs?

    Well, there's a lot of games inside emacs

    https://github.com/emacs-mirror/emacs/tree/master/lisp/play

  • notcurses

    blingful character graphics/TUI library. definitely not curses.

  • For anyone who wants to add graphics to their TUI, notcurses is pushing the boundaries of what's possible and viable in a terminal. Still could use some bindings for higher-level languages and ergonomics. It also degrades pretty gracefully depending on terminal capabilities.

    Check out notcurses-demo and see what you can pull off in a terminal. My only gripe is that tmux degrades significantly. Regardless, dankamongmen is an awesome dude bringing back the demoscene vibes.

    https://piped.kavin.rocks/watch?v=dcjkezf1ARY

    https://github.com/dankamongmen/notcurses

  • htop

    htop - an interactive process viewer

  • react-blessed

    A react renderer for blessed.

  • evil

    The extensible vi layer for Emacs.

  • 100% agreed. Also VisiData looks cool, thanks for the link. In this space, I'm a huge fan of Lnav (https://lnav.org) which fits similar use cases as a TUI / CLI for ETL workflows (w embedded SQLite), works great at the scale of a few millions of rows.

  • CliFx

    Class-first framework for building command-line interfaces

  • spectre.console

    A .NET library that makes it easier to create beautiful console applications.

  • presage

    A high-level Rust library to help write clients for the Signal Messenger.

  • cmus

    Small, fast and powerful console music player for Unix-like operating systems.

  • A little late to the article, if anyone is still reading comments I recommend cmus, a console music player with extensive key bindings and library support.

    https://cmus.github.io/

  • conio-for-linux

    Conio.h for linux

  • Indeed, I have fond memories of the Turbo C IDE.

    I wish conio.h would have been something under Unix, free from the VT100 cruft. ncurses is lacking and awkward to use.

    Apparently conio.h was ported to Linux (https://github.com/nowres/conio-for-linux) but I don't think it ever was a popular option.

  • xsv

    A fast CSV command line toolkit written in Rust.

  • I think xsv is what you're looking for: https://github.com/BurntSushi/xsv. Specifically xsv table.

  • ph

    ph — the tabular data shell tool

  • Sounds like you might wanna take a look at https://github.com/pgdr/ph

  • org-roam

    Rudimentary Roam replica with Org-mode

  • org-mode + org-roam. It's really quite powerful.

    org-mode is bundled with emacs, but org-roam [1] you gotta install yourself.

    [1]: https://www.orgroam.com/

  • lazygit

    simple terminal UI for git commands

  • Interesting, I haven't noticed any performance issues, and I'm currently running version 0.31.4. Perhaps the issues you're talking about were fixed.

    Regarding the colours, I personally like them, but the configuration [0] options look fairly thorough so perhaps its worth checking those out?

    [0]: https://github.com/jesseduffield/lazygit/blob/master/docs/Co...

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts