placeholderGoWall

GoWall

Convert wallpapers to specific color schemes such as Catppuccin or Nord with GoWall, and wrap the common command in a small script.

Achno/gowall: A tool to convert a Wallpaper’s color scheme / palette, image to pixel art, color palette extraction, image upsacling with Adversarial Networks and more image processing features

  • Convert Wallpaper’s theme 👾 – Recolor an image to match your favorite + (Custom) themes (Catppuccin…)
  • AI Image Upscaling - Increase the resolution of the image while preserving or improving its quality.
  • Support for Unix pipes/redirection - Read from stdin and write to stdout
  • Convert Icon’s theme (svg,ico) - Recolor your icons to match a theme
  • Image to pixel art - Transforms your image to the typical blocky appearance of pixel art.
  • Replace a specific color in an image - pretty self explanatory.
  • Create a gif from images - use the images as frames and specify a delay and the number of loops.
  • Extact color palette - Extracts all the dominant colors in an image (like pywal)
  • Change Image format - Ex. change format from .webp to .png.
  • Invert image colors - pretty self explanatory.
  • Draw on the Image - Draw borders,grids on the image
  • Remove the background of the image - pretty self explanatory.
  • Effects - Mirror,Flip,Grayscale,change brightness and more to come!
  • Daily wallpapers - Explore community-voted wallpapers that reset daily.

invert
invert
Warning

Image conversion for svg is not currently supported, so you need to convert the format yourself.
SVG to PNG Converter - FreeConvert.com

Installation

Refer to the documentation below to complete the installation.

installation | Gowall Docs

Warning

Taking macOS as an example, I recommend downloading the v0.2.1 binary from GitHub Releases. The latest Homebrew version at the time (2025.6.20) is v0.2.0, which has some bugs.

Scripts

I often use GoWall to convert an image’s color scheme. Before committing it to a repo or image bed, I usually convert it to webp. The command is:

gowall convert ./img/cover.jpg -t catppuccin --output ./cover.webp

Typing the command repeatedly is annoying, and Nushell does not currently have autocompletion for gowall, so here is a script to simplify the workflow.

#!/bin/bash# Ref: [installation | Gowall Docs](https://achno.github.io/gowall-docs/installation)# Check the number of argumentsif [ $# -ne 1 ]; then  echo "用法: $0 <图片文件路径>"  echo "示例: $0 ./img/cover.jpg"  exit 1fi# Get the input file pathinput_file="$1"# Check whether the file existsif [ ! -f "$input_file" ]; then  echo "错误: 文件 '$input_file' 不存在"  exit 1fi# Get the filename without path and extensionfilename=$(basename "$input_file")filename_no_ext="${filename%.*}"# Build the output file path: current working directory + filename + .webpoutput_file="$(pwd)/${filename_no_ext}.webp"# Execute the gowall commandecho "正在转换: $input_file -> $output_file"gowall convert "$input_file" -t catppuccin --output "$output_file"# Check the command resultif [ $? -eq 0 ]; then  echo " 转换成功: $output_file"else  echo " 转换失败"  exit 1fi

Usage

# Grant execute permission to the scriptchmod +x mocha_it# Put the script in PATH, for example ~/bin/mocha_it. I store it under `~/dotfiles/bin/`export PATH="$PATH:~/dotfiles/bin"# Run the scriptmocha_it ./img/cover.jpg