Skip to content

robbieh/insigil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Insigil

Because looking at your data should be fun

Insigil is designed to turn static or streaming data into an animated circular visualization. While inteded to be a useful utility - sometimes a quick histogram is just what I need! - Insigil is designed to be visually pleasing and, yes, a bit geeky.

Modes and Invocation

Currently, Insigil can draw historgrams, sets of gauges, and text taken from stdin or text files. I have been using bash's process substitution to generate data streams.

Scheme

Bar ring: -br

Show a set of numbers as a sort of round bar chart:

echo "1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 4 5 6 7 6 5 4 3 2 1 2 3 2 1 2 3 4 3 4 5 6 7 6 5 4 3 2 1"| tr -s ' ' \\n > numbers
insigil -hr numbers

Histogram ring: -hr

Show a set of numbers as a histogram:

echo "1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 4 5 6 7 6 5 4 3 2 1 2 3 2 1 2 3 4 3 4 5 6 7 6 5 4 3 2 1"| tr -s ' ' \\n > numbers
insigil -hr numbers

Gauge set ring: -gr

Display the system's load average for the last 1, 5, and 15 mintues as three gauges:

insigil -gr <( while true; do cut -f 1-3 -d '' /proc/loadavg | tr -d . ; sleep 1; done )

Text ring: -tr

Just show some static text:

insigil -tr <( echo "...--->>>|Insigil|<<<---...")

Combinations

The flags can be combined, and each new one creates a new ring inside the previous one.

insigil -tr <( echo "...--->>>|Insigil|<<<---...")

Theming

Create a $HOME/.insigil.colors.toml file with contents such as this:

[palette]
background = [0.85, 0.90, 0.99, 1.0]
primary = [0.14, 0.75, 0.92, 1.0]
secondary = [0.99, 0.99, 0.99, 1.0]
highlight = [0.79, 0.41, 0.83, 1.0]

The format is R, G, B, Alpha scaled from 0.0 to 1.0.

changelog

  • 0.1.1 - Added a real histogram. Updated to latest Piston libs.
  • 0.1.0 - Initial version

Building it

First, install Rust

Then roughly:

git clone https://github.com/robbieh/insigil
cd insigil
cargo build --release
./target/release/insigil

If you want the SDL2 or GLFW backend, try one of these instead. Though for me this displays at the wrong scale on a high def display. YMMV.

cargo build --release --no-default-features --features include_sdl2
cargo build --release --no-default-features --features include_glfw

Bugs and Limitations

Plenty.

About

Interactive data-driven sigil

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages