wallust 3.5.1

Generate a 16 color scheme based on an image.
Documentation
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH wallust 5  wallust-2.10
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.SH NAME
wallust \- TOML configuration file format.

.SH "GENERAL"
.PP
Some general variables that can be configured in the wallust.toml file.

.BR "All variables are optional" ,
as wallust can work without a config file and choose default implementations.

.I "Keep in mind that backend, palette and colorspace share possible values with the cli,"
see
.BR wallust(1) .

.TP
.B "backend"
Allows you to choose which method to use in order to parse the image.

.RS
.TP
.B full
Read and return the whole image pixels more precision slower.
.TP
.B resized
Resizes the image before parsing mantaining it s aspect ratio.
.TP
.B wal
Uses image magick convert to generate the colors like pywal.
.TP
.B thumb
Faster algo hardcoded to x no ratio respected.
.TP
.B fastresize
A much faster resize algo that uses SIMD. For some reason it fails on some images where resized doesn t for this reason it doesn t replace but rather it s a new option.
.TP
.B kmeans
Kmeans is an algo that divides and picks pixels all around the image. Requires more tweaking and more in depth testing but for the most part it just werks.
.RE


.TP
.B "color_space"
What colorspace to use to gather the most prominent colors.

.RS
.TP
.B lab
Uses Cie L a b color space.
.I (mixed)
.TP
.B lch
CIE Lch, you can understand this color space like LAB but with chrome and hue added, which Could help when sorting.
.I (mixed, ansi)

.RE

.RS
There are two variant:

.TP
.BR mixed ,
which mixes colors when collecting them into a histogram.
.TP
.BR ansi
Tries to get a full color pallete similar to a tty. This works best with
.I ansidark.
.RE

.TP
.B "threshold"
Wallust automatically uses the
.B "best threshold"
(by my testings) if this variable isn't defined.

If you really want to define this variable, keep in mind the following. Thershold is the
.B "difference between similar colors"
, used inside the colorspace. While each colorspace may have different results
with different thresholds, meaning
.B "you should try which one works for you best"
, an "overall" and general table looks like this:

.ad l
.TS
box tab(!);
cB | cB
lwB | lw.
Number!Description
_
1!Not Perceptible by human eyes.
_
1 \- 2!Perceptible through close observation.
_
2 \- 10!Perceptible at a glance.
_
11 \- 49!Colors are more similar than opposite.
_
100!Colors are exact opposite.
.TE
.ad b

.TP
.B "palette"

Uses the colors gathered from `color_space` in a way that makes sense, resulting in a scheme palette.
.br

.RS
.TP
.B dark
Dark colors dark background and light contrast.
.I (16, comp, comp16)
.TP
.B harddark
Same as dark with hard hue colors.
.I (16, comp, comp16)
.TP
.B light
Light bg dark fg.
.I (16, comp, comp16)
.TP
.B softdark
Variant of softlight uses the lightest colors and a dark background could be interpreted as dark inversed.
.I (16, comp, comp16)
.TP
.B softlight
Light with soft pastel colors counterpart of harddark.
.I (16, comp, comp16)
.RE

.RS
There are some variants to the principal palettes schemes which you can use by appending the variant to the name e.g. 'dark16', 'lightcomp', 'harddarkcomp16' and so on, each palette indicates, in parenthesis, which variants are avaliable. A description of the overall variants:
.br
.RE

.RS
.TP
.B 16
Makes shades of colors, creating the ilusion of "16 different colors".
.TP
.B comp
Stands for Complementary and completly changes the palette to it's complementary counterpart.
.TP
.B comp16
Complementary palette with 16 shades.
.RE

.TP
.B check_constrast
Ensures a "readable contrast" Should only be enabled when you notice an unreadable contrast frequently happening with your images. The reference color for the contrast is the background color. (default: disabled)

.TP
.B fallback_generator
This field chooses a method to use when the gathered colors aren't enough:
.RS
.TP
.B interpolation
(default) Tries to pick two colors and built gradients over them
.B complementary
Uses the complementary colors of two colors, or more (if needed), colors.
.RE

.TP
.B saturation
Color saturation, usually something higher than 50 increases the saturation and below decreases it (on a scheme with strong and vivid colors).
.br
.I Possible values:
1 \- 100
(default: disabled)

.TP
.B alpha
Alpha value for templating (default: 100)

.SH "TEMPLATES"
Templates are optional and defined inside the [templates] header. Here it's recommended to use single quotes (') instead of double quotes (") since the first one, by the toml format, ignores backslashes (\\) as escape codes, allowing you to define Widows like paths (e.g. 'C:\\Users\\Desktop\\')
.br
To learn more about the syntax see
.BR wallust (1).

.TP
.B template
A relative path that points to a file where wallust.toml is located, usually at '~/.config/wallust/'. This file can also be a directory, which will be templated
.BR "recursively" .

.TP
.B target
Absolute path in which to place a file with generated templated values. This
field CAN expand the `~` as the `$HOME` enviromental variable. If
.I template
is a directory, this
.B must
correspond and be one.

.TP
.BI "pywal" " optional"
Indicates to treat
.I template
as a pywal template, using
.I {variable}
syntax. (default: false)


.TP
.BI "max_depth" " optional"
This is variable is optional, by default disabled and thus, doesn't limit recursion.
When enabled, it accepts a number that indicates the quantity of recursion
level to accept, similar to
.I du ... --max-depth 1
(and probably other utils).



.SH "EXAMPLES"
Below is a simple example exahusting all possible cases. All the format is correct:

.RS
.nf
\fC
backend = "full"
color_space = "lab"
threshold = "20"
palette = "softdark"
check_contrast = true

[templates]
# dunst templates
dunst.template = "dunstrc.monitor"
dunst.target = "~/.config/dunst/dunstrc"

# one liner for zathura
zathura = { template = 'zath', target = '~/.config/zathura/zathurarc' }

# even a shorter way
glava = { src = 'glava.glsl', target = '~/.config/glava/rc.glsl' }

# or splited, like dunst
res.src = "xres"
res.dst = "~/.config/Xresources"

# old times, good times (here I put old pywal templates)
# Also, note that the name doesn't matters (as long as it isn't already defined)
# NOTE that both src and dst are directories
pywal = { src = "templates/", dst = '~/.cache/wal/', pywal = true }

\fP
.fi


.SH "SEE ALSO"
.BR wallust (1),
.BR wallust-run (1),
.BR wallust-cs (1),
.BR wallust-theme (1),
.BR wallust-themes[1]
.br
.SH "NOTES"
.nr step 1
.IP "\n+[step]. wallust-themes"
Suggestions for new colorschemes returned by the
.B themes
subcommand should be filled here.
.br
.I https://codeberg.org/explosion-mental/wallust-themes
.SH "BUGS"
.PP
.br
\fIhttps://codeberg.org/explosion-mental/wallust\fP