wallust(5)
πΈ NAME πΈ
wallust β the TOML config file format, bestie. That's it, that's the vibe.
β¨ GENERAL β¨
Okay so these are the general variables you can set up in your wallust.toml file. And listen β every single one of them is optional π
because wallust can absolutely work without a config file and just pick default implementations on its own. Lowkey self-sufficient.
Keep in mind that backend, palette and colorspace share possible values with the CLI, so go peek at wallust(1) for the full lore. iykyk.
backendβ lets you choose which method gets used to parse the image.fullβ reads and returns the whole image pixels. More precision, slower. It's giving thorough but patient πresizedβ resizes the image before parsing while maintaining its aspect ratio.walβ uses image magick convert to generate the colors, like pywal.thumbβ faster algo, hardcoded to x, no ratio respected.fastresizeβ a much faster resize algo that uses SIMD. For some reason it fails on some images whereresizeddoesn't, and for this reason it doesn't replace it β it's a whole new option instead.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. π₯
color_spaceβ what colorspace to use to gather the most prominent colors.labβ uses Cie L a b color space. (mixed)lchβ CIE Lch. You can understand this color space like LAB but with chrome and hue added, which could help when sorting. (mixed, ansi)
There are two variants:
mixed, which mixes colors when collecting them into a histogram.ansiβ tries to get a full color pallete similar to a tty. This works best withansidark.
thresholdβ wallust automatically uses the best threshold (by my testings) if this variable isn't defined. π
If you really want to define this variable, keep in mind the following: threshold is the difference between similar colors, used inside the colorspace. While each colorspace may have different results with different thresholds β meaning you should try which one works for you best β an "overall" and general table looks like this:
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.
paletteβ uses the colors gathered fromcolor_spacein a way that makes sense, resulting in a scheme palette. πdarkβ dark colors, dark background and light contrast. (16, comp, comp16)harddarkβ same asdarkwith hard hue colors. (16, comp, comp16)lightβ light bg, dark fg. (16, comp, comp16)softdarkβ variant ofsoftlight, uses the lightest colors and a dark background; could be interpreted as dark inversed. (16, comp, comp16)softlightβ light with soft pastel colors, counterpart ofharddark. (16, comp, comp16)
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:
16β makes shades of colors, creating the ilusion of "16 different colors".compβ stands for Complementary and completly changes the palette to it's complementary counterpart.comp16β complementary palette with 16 shades.
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) β οΈfallback_generatorβ this field chooses a method to use when the gathered colors aren't enough:interpolationβ (default) tries to pick two colors and built gradients over them complementary. Uses the complementary colors of two colors, or more (if needed), colors.
saturationβ color saturation. Usually something higher than50increases the saturation and below decreases it (on a scheme with strong and vivid colors). Possible values:1 - 100(default: disabled)alphaβ alpha value for templating (default:100)
π 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 β which allows you to define Widows like paths (e.g. 'C:\Users\Desktop\'). Bestie, that's such a slay detail π¦
To learn more about the syntax, see wallust(1).
templateβ a relative path that points to a file wherewallust.tomlis located, usually at'~/.config/wallust/'. This file can also be a directory, which will be templated recursively.targetβ absolute path in which to place a file with generated templated values. This field CAN expand the~as the$HOMEenviromental variable. Iftemplateis a directory, this must correspond and be one.pywal(optional) β indicates to treattemplateas a pywal template, using{variable}syntax. (default:false)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 todu ... --max-depth 1(and probably other utils).
π EXAMPLES π
Below is a simple example exahusting all possible cases. All the format is correct:
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 }
π SEE ALSO π
wallust(1), wallust-run(1), wallust-cs(1), wallust-theme(1), wallust-themes[1]
β NOTES β
wallust-themesβ suggestions for new colorschemes returned by thethemessubcommand should be filled here. πhttps://codeberg.org/explosion-mental/wallust-themes
π BUGS π
https://codeberg.org/explosion-mental/wallust
And that's the whole page, bestie β you just read the wallust(5) manpage from the File Formats Manual, version wallust-2.10. Go forth and make your terminal iconic. π«Άβ¨
π¦ where this page comes from
- nixos 26.05: wallust 3.5.2
- nixpkgs unstable: wallust 3.5.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms