Migration guide to v3
The last stable backwards compatible version is 2.10. V3 builds have the following breaking changes:
Cli
The usual, and shorter, wallust image.png
, is deprecated.
Instead, you should use wallust run image.png
.
Regarding cli flags: --filter
and -f
will be replaced by --palette
and -p
, respectively.
wallust.toml
You can update your configuration file syntax with: wallust migrate
Old syntax:
[[entry]]
template = "zathurarc"
target = "~/.config/zathura/zathurarc"
[[entry]]
template = "dunst"
target = "~/.config/dunst/dunstrc"
...
New syntax:
[templates]
# usual dotted fields
dunst.template = 'dunstrc.monitor'
dunst.target = '~/.config/dunst/dunstrc'
# or inline
zathura = { template = 'zathura', target = '~/.config/zathura/zathurarc' }
# templated alias to src and target to dst
res.src = 'xres'
res.dst = '~/.config/Xresources'
res.pywal = true #enable pywal syntax
# inline with aliases, even more shorter!
glava = { src = 'glava/main.glsl', dst = '~/.config/glava/rc.glsl' }
# inline with pywal
test = { template = 'test.json', dst = '~/.config/complicated.json', pywal = true }
# directory usecase, all my pywal templates go here.
dir.template = "templates/"
dir.target = "~/.cache/wal/"
dir.pywal = true
This is a more shorter and simpler way. Inside the templates
header, you can
use the template
and target
attributes, also alias as src
and dst
respectively.
You can now declare directories as templates and targets non-recursively.
Deprecation of new_engine
The new_engine
optional value has been stablished as the default engine and
is no longer a valid variable. Now, if you want to enable pywal like syntax
(meaning it's disabled by default), you do so by declaring pywal = true
.
Rename filter
-> palette
Just like with the cli, filter to palette rename has also affected the config:
Old syntax:
filter = dark16
New syntax:
palette = dark16
Templates
Following the name changes, variable name changes also have been applied:
{{filter}}
-> {{palette}}
.
Or, if pywal
enabled, {filter}
-> {palette}
.
Variables has been reduced to the ones with no .method
syntax like. This is
because there has been included a runtime that can interpret filters. For example:
{{color0.rgb}}
is now written like:
{{color0 | rgb}}
In these lines, escaping {{
and }}
has also changed, being avaliable literals as variables:
{{{{}}{{}}}}
is now written like:
{{ "{{}}" }}
To learn more about the new template syntax please read the man page man wallust
.