[config]
# If set to enabled, it will check for updates when you run the matugen command, notifying you that an update is avaiable.
# WARNING: Matugen needs to be compiled with the `update-informer` feature for this to work.
version_check = false

# Enables caching which will cache the colorscheme, custom colors, etc. into a cache folder located in
# Windows: C:\Users\user\AppData\Roaming\InioX\matugen\cache\images\<file>
# Linux: $XDG_CACHE_HOME/matugen/<file> or $HOME/.cache/matugen/images/<file>
# MacOS: $HOME/Library/Caches/matugen/images/<file>
# The file follows this naming: <image_name>.<image_extension>.<image_hash>.json
# For example: testimage.png.0cfd2d624b3d09bf6246b7be9ca79e207e7aa1189d961d44949628b99811bb9d.json
# You can modify the cache and it will then be loaded when using the same image.
caching = false

# Changing the syntax
# Expr is for keywords like {{ <keyword> }}
expr_prefix = "{{"
expr_postfix = "}}"

# Block is for stuff like for loops etc.
block_prefix = "<*"
block_postfix = "*>"

[config.wallpaper]
# Whether to set the wallpaper or not
set = true

# The base command to run for applying the wallpaper, shouldn't have spaces in it.
command = "swww"

# The arguments that will be provided to the command.
# Keywords like {{ mode }} or anything that works inside of hooks doesn't work here.
# The last argument will be the image path.
arguments = ["img", "--transition-type", "center"]

# For example, killing the wallpaper daemon. Usage is like a normal hook.
# pre_hook = ""

[templates.includeme]
input_path = "./include.txt"
# The output path is optional if you just want to import the template anyways,
# output_path = "./a/include.txt"

[templates.name1]
# Relative paths will be resolved from the path `config.toml` is in.
input_path = "./colors.whatever-extension"
output_path = "./a/colors-generated.whatever-extension"

# This will use a different input path depending on what mode you use.
# input_path_modes = { dark = "./colors.whatever-extension", light = "./colors.whatever-extension" }

# This will compare all of the colors inside the array with the color you set as `compare_to`, and returns the closest color to it.
# You can then use `{{closest_color}}` inside templates and hooks.
colors_to_compare = [
    { name = "black", color = "#000000" },
    { name = "red", color = "#ff0000" },
    { name = "maroon", color = "#800000" },
    { name = "yellow", color = "#ffff00" },
    { name = "olive", color = "#808000" },
    { name = "lime", color = "#00ff00" },
    { name = "green", color = "#008000" },
    { name = "aqua", color = "#00ffff" },
    { name = "teal", color = "#008080" },
    { name = "blue", color = "#0000ff" },
    { name = "navy", color = "#000080" },
    { name = "fuchsia", color = "#ff00ff" },
    { name = "purple", color = "#800080" },
]
compare_to = "{{colors.primary.default.hex}}"

# Runs before the template is exported. You can use keywords here,
pre_hook = 'echo "source color {{colors.source_color.default.hex}}, source image {{image}}, closest color {{closest_color}}"'
# Runs after the template is exported. You can use keywords here.
post_hook = 'echo "after gen"'

# Only hex values
# https://m3.material.io/styles/color/advanced/adjust-existing-colors#1cc12e43-237b-45b9-8fe0-9a3549c1f61e
# Blend is set to true by default. 
[config.custom_colors]
red = "#ff0000"
blue = { color = "#0000ff", blend = false }
green = { color = "#00FF00", blend = false }
