wallust 2.1.0

Generate a 16 color scheme based on an image.
wallust-2.1.0 is not a library.
Visit the last successful build: wallust-3.5.1

wallust - Generate colors from an image

crates io downloads license dependency status CodeBerg

gif

sources: rms by marco novo - linus talking - pixels - adwaita

It is reccomended to clean the cache in a new major and minor release but is not required

Features

  • Sets terminal colors sequences on all active terminals
  • Config file at ~/.config/wallust/wallust.toml:
    • templating integrated in a config file
    • backends, colorspaces and filters
    • configurable threshold
  • Cache scheme palette at ~/.cache/wallust

Terminal color sequences

By default, wallust will send these sequences to all open terminals (/dev/pts/). You can skip this with the -s or --skip-sequences flag.

When opening new terminals you will notice that the color sequences are not applied. To solve this you can send the sequences yourself when your shell opens. wallust will store the sequences in ~/.cache/wallust/sequences, so the usual way is to cat ~/.cache/wallust/sequences in your .zshrc, .bashrc, etc.

Templating & Config File

You can use wallust generated colors in a program by templating the colors in it's config file, like the following example:

# zathurarc config file

#keybindings
...

# colors
set default-bg     "{color2}"
set default-fg     "{foreground}"
set statusbar-bg   "{color4}"
set statusbar-fg   "{color6}"
set inputbar-bg    "{color1}"

Then add this file to ~/.config/wallust/ (e.g. ~/.config/wallust/zathurarc) and add a new entry to wallust.toml

[[entry]]
template = "zathurarc"
target = "~/.config/zathura/zathurarc"

NOTE: The template name doesn't have to match the target name: e.g. the file could be named sample.conf, and thus the entry would have template = "sample.conf", but the target can remain the same, e.g. target = "~/.config/zathurarc".

Usage

wallust my_wallpaper.png

Installation

cargo install wallust

or, if you cloned the repo

cargo install --path .

or just build it (cargo build --release) and copy the binary to one folder present in your $PATH like /usr/local/bin

cargo build --release
cp -f ./target/release/wallust /usr/local/bin

NetBSD

If you are using NetBSD, a native package is available from the official repositories. To install it, simply run:

pkgin install wallust

TODO

  • release binaries - figure out woodkeeper codeberg CI