﻿---
title: GoWall
date: 2025-06-20
cover: https://assets.vluv.space/cover/Ricing/神奈川冲浪里.webp
tags: [Wallpaper, Ricing, Catppuccin, CLI]
excerpt: Convert wallpapers to specific color schemes such as Catppuccin or Nord with GoWall, and wrap the common command in a small script.
updated: 2026-07-08 07:37:21
lang: en
i18n:
  cn: /gowall
  translation: 2
---

> [Achno/gowall](https://github.com/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](https://github.com/Achno/gowall/raw/main/assets/invert.png)

> [!WARNING]
>
> Image conversion for `svg` is not currently supported, so you need to convert the format yourself.
> [SVG to PNG Converter - FreeConvert.com](https://www.freeconvert.com/svg-to-png)

## Installation

Refer to the documentation below to complete the installation.

[installation | Gowall Docs](https://achno.github.io/gowall-docs/installation)

> [!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:

```shell
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.

```bash
#!/bin/bash

# Ref: [installation | Gowall Docs](https://achno.github.io/gowall-docs/installation)

# Check the number of arguments
if [ $# -ne 1 ]; then
  echo "用法: $0 <图片文件路径>"
  echo "示例: $0 ./img/cover.jpg"
  exit 1
fi

# Get the input file path
input_file="$1"

# Check whether the file exists
if [ ! -f "$input_file" ]; then
  echo "错误: 文件 '$input_file' 不存在"
  exit 1
fi

# Get the filename without path and extension
filename=$(basename "$input_file")
filename_no_ext="${filename%.*}"

# Build the output file path: current working directory + filename + .webp
output_file="$(pwd)/${filename_no_ext}.webp"

# Execute the gowall command
echo "正在转换: $input_file -> $output_file"
gowall convert "$input_file" -t catppuccin --output "$output_file"

# Check the command result
if [ $? -eq 0 ]; then
  echo "✅ 转换成功: $output_file"
else
  echo "❌ 转换失败"
  exit 1
fi
```

**Usage**

```bash
# Grant execute permission to the script
chmod +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 script
mocha_it ./img/cover.jpg
```
