SixelTerm.jl

Inline graphics in the REPL using Sixel
Popularity
38 Stars
Updated Last
12 Months Ago
Started In
September 2018

SixelTerm

  • GitHub CI
  • codecov

This is a quick-and-dirty 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.

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 Plots
using SixelTerm
scatter(rand(100))

Note that when using it with Plots, you have to do using SixelTerm after using Plots. For some reason, Plots.jl adds its own display to the stack, so we need the SixelTerm display added last.

This is how things look in iTerm2:

Here is an example using Makie:

using CairoMakie
using SixelTerm
scatter(rand(100))

This is how things look in iTerm2:

Acknowledgements

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

TerminalGraphics is another package that provides similar functionality. The main difference is that TerminalGraphics includes an interface to libsixel, while this package relies on ImageMagick for conversion to the Sixel format.

Used By Packages

No packages found.