wallust - Generate colors from an image

crates io downloads license dependency status CodeBerg MatrixChat

gif

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

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

If you don't have a config file, wallust will generate the default config file for you.

Features

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 the cache directory as a file called sequences, the usual way is to cat ~/.cache/wallust/sequences in your .zshrc, .bashrc, etc.

Templating [OPTIONAL]

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_ (config directory defined by the platform) and add a new entry to `wallust.toml` 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

Keep in mind that the git repo is constantly updated, if you wanna use git, checkout to a stable version.

Build from source

From this repo

Go to the releases page and download the .zip or .tar.gz repository. After extracting the contents, go to the directory (cd MAYOR.MINOR.PATCH).

Then you can do the following, which moves the binary into your $CARGO_HOME/bin cargo install --path .

or build it 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

From crates.io

cargo install wallust This will use the lastest version

NetBSD

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

TODO

for more, grep the src for TODO rg TODO - release binaries - figure out woodkeeper codeberg CI - Think about using k means algo similar to pigmnts (just without seg faulting :p) - use thiserror for errors in the modules (there aren't that many)

Related