Home

Awesome

SixelTerm

This is a Julia package to display graphics inline on terminals that support Sixel graphics. This is like TerminalExtensions but works with more terminals.

The main advantage of this approach is having usable graphics on remote connections without having to mess with X or other remote display connections. This works for Julia running on many remote platforms, including the Windows Subsystem for Linux (WSL) and macOS. It works with WSLtty and iTerm2. It also supports the tmux terminal multiplexer somewhat (images can be displayed, but they disappear when changing to a different window).

Terminals with Sixel support are available for Windows, Linux, MacOS, and Android. See here for one list.

Examples

Here is an example using Plots with the default GR backend:

ENV["GKSwstype"] = "nul"    # needed for the GR backend on headless servers
using SixelTerm
using Plots
scatter(rand(100))

This is how things look in iTerm2: <img src="https://raw.githubusercontent.com/eschnett/SixelTerm.jl/master/demo.png" width=900px></img>

Here is an example using Makie:

using SixelTerm
using CairoMakie
scatter(rand(100))

This is how things look in iTerm2: <img src="https://raw.githubusercontent.com/eschnett/SixelTerm.jl/master/demo-makie.png" width=900px></img>

Similar packages

Acknowledgements

This package was written by Tom Short and is now maintained by Erik Schnetter.