[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.

# The color which should be used as the source_color if no good color was found from an image.
# Can be defined in any css format.
# The cli flag will override this if used.
#fallback_color = "#ffbf9b"

# Which color to choose if multiple good colors were found from an image.
# choices: [darkness, lightness, saturation, less-saturation, value, closest-to-fallback]
# The cli flag will override this if used.
#prefer = "closest-to-fallback"

# 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.
# The colors are defined using the #RRGGBBAA format.
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 = "*>"

# Imports json files just like `--import-json` does.
# Relative paths will be resolved from the path `config.toml` is in.
#import_json_files = ["./custom3.json"]

# Defaults to the contrast from CLI if unspecified.
# Value from -1 to 1. 
# -1 represents minimum contrast, 0 represents standard (i.e. the design as spec'd),
# and 1 represents maximum contrast.
contrast = 0.3

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

# The base command to run for applying the wallpaper.
# Keywords like {{ image }} or anything that works inside of hooks works here.
# You could also set a static color if you use the color keywords and the wallpaper setter supports it.
#command = "swaybg -i '{{ image }}' '*'"
#command = "swaybg -i '{{ image }}' > /tmp/swaybg_error.log 2>&1"
#command = "swaybg -o DP-1 -i '{{ image }}' "

command = "env WAYLAND_DISPLAY=$WAYLAND_DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR swaybg -o DP-1 -i '{{ image }}' -m fill"
#command = "WAYLAND_DISPLAY=wayland-0 swaybg -i '{{ image }}' -m fill"

# For example, killing the wallpaper daemon. Usage is like a normal hook.
# pre_hook = ""
#[templates]
[templates.foot]
input_path = '~/.config/matugen/templates/foot.ini'
output_path = "~/.config/foot/themes/matugen-theme.ini"

[templates.foot-init]
input_path = "~/.config/matugen/templates/foot-apply-colors.sh"
output_path = "~/.config/matugen/scripts/foot-apply-colors.sh"
post_hook = "bash ~/.config/matugen/scripts/foot-apply-colors.sh"

[templates.cava]
input_path = '~/.config/matugen/templates/cava-colors.ini'
output_path = '~/.config/cava/themes/matugen'
post_hook = 'pkill -USR1 cava || true'

[templates.kitty]
input_path = '~/.config/matugen/templates/kitty-colors.conf'
output_path = '~/.config/kitty/themes/Matugen.conf'
post_hook = "kitty +kitten themes --reload-in=all Matugen"

[templates.clipse]
input_path = '~/.config/matugen/templates/clipse_theme.json'
output_path = '~/.config/clipse/matugen.json'


[templates.hyprland]
input_path = '~/.config/matugen/templates/hyprland-colors.conf'
output_path = '~/.config/hypr/colors.conf'

[templates.hyprlock]
input_path = '~/.config/matugen/templates/hyprlock.conf'
output_path = '~/.config/hypr/colors-hyprlock.conf'


[templates.ironbar]
input_path = "~/.config/matugen/templates/ironbar.css"
output_path = "~/.config/ironbar/colors.css"
post_hook = "bash ~/.config/matugen/scripts/ironbar-toggle.sh"

[templates.telegram_background]
pre_hook = 'mkdir -p ~/.config/telegram/matugen'
input_path = '~/.config/matugen/templates/telegram-background-solid.svg'
output_path = '~/.config/telegram/matugen/background.svg'
post_hook = 'magick ~/.config/telegram/matugen/background.svg ~/.config/telegram/matugen/background.jpg'
index = 0

[templates.telegram]
input_path = '~/.config/matugen/templates/telegram.tdesktop-theme'
output_path = '~/.config/telegram/matugen/colors.tdesktop-theme'
post_hook = 'zip -qj - ~/.config/telegram/matugen/colors.tdesktop-theme ~/.config/telegram/matugen/background.jpg >~/.config/telegram/matugen.tdesktop-theme'
index = 1

[templates.niri]
input_path = '~/.config/matugen/templates/niri-colors.kdl'
output_path = '~/.config/niri/colors.kdl'
post_hook = 'niri msg action load-config-file'

[templates.nvim]
input_path = "~/.config/matugen/templates/neovim.lua"
output_path = "~/.config/nvim/lua/matugen.lua"
post_hook = 'pkill -SIGUSR1 nvim'

[templates.gtk3]
input_path = '~/.config/matugen/templates/gtk-colors.css'
output_path = '~/.config/gtk-3.0/colors.css'
post_hook = 'gsettings set org.gnome.desktop.interface gtk-theme ""; gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-{{mode}}'

[templates.gtk4]
input_path = '~/.config/matugen/templates/gtk-colors.css'
output_path = '~/.config/gtk-4.0/colors.css'

[templates.prismlauncher]
input_path = '~/.config/matugen/templates/prismlauncher.json'
output_path = '~/.local/share/PrismLauncher/themes/Matugen/theme.json'
post_hook = 'cp ~/.local/share/PrismLauncher/themes/Matugen/theme.json ~/.local/share/ElyPrismLauncher/themes/Matugen/theme.json'
# ...
[templates.kvantum_kvconfig]
input_path = '~/.config/matugen/templates/kvantum-colors.kvconfig'
output_path = '~/.config/Kvantum/matugen/matugen.kvconfig'

[templates.kvantum_svg]
input_path = '~/.config/matugen/templates/kvantum-colors.svg'
output_path = '~/.config/Kvantum/matugen/matugen.svg'

[templates.hyprtoolkit]
input_path = "~/.config/matugen/templates/hyprtoolkit.conf"
output_path = "~/.config/hypr/hyprtoolkit.conf"

[templates.pywalfox]
input_path = '~/.config/matugen/templates/pywalfox-colors.json'
output_path = '~/.cache/wal/colors.json'
post_hook = 'pywalfox update'

# [templates.firefox-website-colors]
# input_path = "~/.config/matugen/templates/firefox-colors.css"
# output_path = "~/.zen/j0ceihqh.Default (release)/chrome/userChrome.css"

[templates.rmpc]
input_path = '~/.config/matugen/templates/rmpc/rmpc.ron'
output_path = '~/.config/rmpc/themes/matugen.ron'

[templates.starship]
input_path = '~/.config/matugen/templates/starship-colors.toml'
output_path = '~/.config/starship.toml'
# ...
[templates.tmux]
input_path = '~/.config/matugen/templates/tmux-colors.conf'
output_path = '~/.config/tmux/colors.conf'
#post_hook = "tmux info >/dev/null 2>&1 && tmux source-file ~/.config/tmux/colors.conf"

[templates.yazi]
input_path = '~/.config/matugen/templates/yazi-theme.toml'
output_path = '~/.config/yazi/theme.toml'
# ...
#[templates.zathura]
#input_path = '~/.config/matugen/templates/zathura-colors'
#output_path = '~/.config/zathura/zathurarc'
# ...
[templates.swaync]
input_path = "~/.config/matugen/templates/swaync-colors.css"
output_path = "~/.config/swaync/colors.css"
post_hook = "swaync-client -rs"

# ...
# ...
#
[templates.obsidian]
input_path = '~/.config/matugen/templates/obsidian.css'
output_path = '~/.obsidian/unconfer/.obsidian/themes/Matugen/theme.css'

[templates.btop]
input_path = '~/.config/matugen/templates/btop.theme'
output_path = '~/.config/btop/themes/matugen.theme'
post_hook = 'pkill -USR2 btop || true'
# ...
#
[templates.walker]
input_path = '~/.config/matugen/templates/walker.css'
output_path = '~/.config/walker/themes/matugen/colors.css'
post_hook = 'bash ~/.config/matugen/scripts/walker.sh'

[templates.hyprwave]
input_path = '~/.config/matugen/templates/hyprwave.css'
output_path = '~/.local/share/hyprwave/themes/matugen.css'
post_hook = "bash ~/.config/matugen/scripts/hyprwave-reload.sh"

[templates.swayosd]
input_path = '~/.config/matugen/templates/swayosd.css'
output_path = '~/.config/swayosd/colors.css'
#post_hook = "env WAYLAND_DISPLAY=$WAYLAND_DISPLAY  DBUS_SESSION_BUS_ADDRESS='unix:path=$XDG_RUNTIME_DIR/bus' XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR pkill swayosd-server && sleep 0.1s && swayosd-server "
post_hook = "bash ~/.config/matugen/scripts/swayosd-reload.sh"


[templates.zen-userChrome]
input_path = "~/.config/matugen/templates/zen-userChrome.css"
output_path = "/home/unconfer/.zen/j0ceihqh.Default (release)/chrome/userChrome.css"

[templates.zen-userContent]
input_path = "~/.config/matugen/templates/zen-userContent.css"
output_path = "/home/unconfer/.zen/j0ceihqh.Default (release)/chrome/userContent.css"
