id = "gowall"
name = "Gowall"
homepage = "https://achno.github.io/gowall-docs/"
description = "Tool to convert a Wallpaper's color scheme / palette"
executables = ["gowall"]
[dotfiles]
paths = ["[configHome]/gowall/config.yml"]
secret = []
[commands]
format = 1
label = "Gowall"
description = "Gowall image tools. Only the convert sub-command is offered here; other sub-commands such as resize, pixelate and OCR are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["convert"]
label = "Convert image colours or format"
description = "Recolour an image to a theme, replace one colour, or change the image format. Theme and replace cannot be combined."
[[commands.subcommand.source]]
id = "src"
kind = "help"
url = "https://github.com/Achno/gowall/blob/main/cmd/convert.go"
revision = "main 2026-10-27"
evidence = '''
Use: "convert [INPUT]",
Short: "Convert an img's color scheme",
Long: `Convert an img's color scheme or its format ie from webp to png etc`,
"Usage : --theme [ThemeName] or [PATH to Json file containing theme]"
"Usage : --format [image format] png,webp,jpg,jpeg"
"Usage: --replace #FromColor,#ToColor"
"Usage: --batch file1.png,file2.png... Batch process individual files"
"Usage --dir [/path/to/dir] Batch process an entire directory"
"Usage: --output ~/Folder (works on --dir and --batch also) or --output ~/NewDir/img.png"
"Usage: --preview true/false enables or disables image previewing (overrides config)"
// WithYes adds the --yes flag to auto-accept confirmation prompts.
"Automatically answer yes to confirmation prompts"
cannot use both the --theme and --replace flags together
'''
[[commands.subcommand.field]]
id = "input"
label = "Input image"
description = "Leave empty when using Batch files or Directory."
type = "path"
position = 0
path = { kind = "file", role = "input", must_exist = true }
sources = ["src"]
[[commands.subcommand.field]]
id = "theme"
label = "Theme"
description = "A theme name from gowall list, or a path to a JSON theme file."
type = "string"
option = ["--theme"]
sources = ["src"]
[[commands.subcommand.field]]
id = "format"
label = "Output image format"
type = "string"
option = ["--format"]
suggestions = [{ value = "png", label = "PNG" }, { value = "webp", label = "WebP" }, { value = "jpg", label = "JPG" }, { value = "jpeg", label = "JPEG" }]
sources = ["src"]
[[commands.subcommand.field]]
id = "replace"
label = "Replace colour"
description = "From and to colours, comma separated, for example #FF0000,#00FF00."
type = "string"
option = ["--replace"]
sources = ["src"]
[[commands.subcommand.field]]
id = "dir"
label = "Directory to process"
type = "path"
option = ["--dir"]
path = { kind = "directory", role = "input", must_exist = true }
sources = ["src"]
[[commands.subcommand.field]]
id = "batch"
label = "Batch files"
description = "Comma-separated list of image files."
type = "string"
option = ["--batch"]
sources = ["src"]
[[commands.subcommand.field]]
id = "output"
label = "Output file or folder"
type = "path"
option = ["--output"]
path = { kind = "any", role = "output", must_exist = false }
effect = "overwrite"
sources = ["src"]
[[commands.subcommand.field]]
id = "preview"
label = "Preview in terminal"
type = "enum"
option = ["--preview"]
choices = [{ value = "true", label = "On" }, { value = "false", label = "Off" }]
sources = ["src"]
[[commands.subcommand.field]]
id = "yes"
label = "Answer yes to prompts"
type = "boolean"
option = ["--yes"]
sources = ["src"]
[[commands.subcommand.task]]
id = "theme"
label = "Apply a theme to an image"
fields = ["input", "theme", "output"]
required = ["input", "theme"]
[[commands.subcommand.task]]
id = "format"
label = "Change image format"
fields = ["input", "format", "output"]
required = ["input", "format"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["input", "theme", "format", "replace", "output"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["dir", "batch", "preview", "yes"]