Terminal Graphics for the 21st Century

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

    📺🗿 Terminal graphics for the 21st century.

  • tiv

    terminal image viewer

    I'm not sure chafa works with video like, say, mplayer built with aalib and libcaca will convert movie files to color or B&W ASCII on the command line (iirc w/ audio only on the host machine). Similarly, on PPC Macs, there was QuickASCII,[1] which lacks audio. I have used tiv,[2] (available with MacPorts) which works very well with images, not video. There was a way to configure the browser links (not lynx) to use tiv to browse the web on cli with converted images.

    [1] http://quickascii.sourceforge.net/

    [2] https://github.com/radare/tiv

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

  • derasterize

    textmode supremacy

    Far far better than caca.

    The subset of usable characters (glyphs) roughly defines how accurate the picture can be represented: if all you have is - and _ and you want to represent an horizontal pipe, it'll be ugly.

    Of course it's more complicated than that, but caca uses ascii, while chafa uses a larger unicode range.

    The example is illustrated in picture on https://github.com/csdvrx/derasterize where the left is the original basicidea.c using only unicode halfblocks, and the right has more candidate of different shapes.

    Derasterize lets you select the width of the range you want to use, to improve encoding time say for video - but ideally, you would be able to test that whatever font you are using contains the glyphs you want.

  • sixel-tmux

    sixel-tmux is a fork of tmux, with just one goal: having the most reliable support of graphics

    Sixels are also supported on the BSD console.

    The lack of support in the likes of gnome-terminal is a willful and ugly political decision that I've already documented.

    > Images are a different matter, where the compromise makes more sense.

    Indeed, I love to do remote gnuplots

    > I can write a script that vomits a jpeg to some vague common denominator standard and it'll probably work for all my coworkers using a smorgasbord of emulators.

    This is the idea of tmux-sixel https://github.com/csdvrx/sixel-tmux : intercept sixels sequences and, if your terminal doesn't support it (or if you use the scrollback buffer, to save or RAM), render a unicode representation instead (like Chafa), but if it does, pass through the original sixel sequence.

  • iterm2

    I just found this, the synchronized updates spec from iTerm2: https://gitlab.com/gnachman/iterm2/-/wikis/synchronized-upda...

    Googling for it, it seems some other terminals implement this as well.

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

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