GoWall
GoWall Introduction
关注桌面个性化的可能对Color Scheme / Palette比较感兴趣,诸如Catppuccin
、Nord
等主题。GoWall是一个非常有用的工具,可以帮助你将图片转换为特定的Color Scheme
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.

Warning
目前不支持svg
格式的图片转换, 需自行进行格式的转换
SVG to PNG Converter - FreeConvert.com
Installation
参考下面文档完成安装
Warning
以MacOS为例,建议在GitHub Release下载v0.2.1
的二进制文件,homebrew
目前(2025.6.20)的最新版为v0.2.0
,存在一些bug
Scripts
个人经常使用GoWall转换图片的Color Scheme,在提交到Repo/ImageBed前通常会转成webp
格式,对应的命令如下:
1
gowall convert ./img/cover.jpg -t catppuccin --output ./cover.webp
重复键入命令比较麻烦,且nushell目前没有gowall
的自动补全,这里提供一个脚本来简化操作。dotfiles/bin/mocha_it at main · Efterklang/dotfiles
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
# Ref: [installation | Gowall Docs](https://achno.github.io/gowall-docs/installation)
# 检查参数数量
if [ $# -ne 1 ]; then
echo "用法: $0 <图片文件路径>"
echo "示例: $0 ./img/cover.jpg"
exit 1
fi
# 获取输入文件路径
input_file="$1"
# 检查文件是否存在
if [ ! -f "$input_file" ]; then
echo "错误: 文件 '$input_file' 不存在"
exit 1
fi
# 获取文件名(不含路径和扩展名)
filename=$(basename "$input_file")
filename_no_ext="${filename%.*}"
# 构建输出文件路径(当前工作目录 + 文件名 + .webp)
output_file="$(pwd)/${filename_no_ext}.webp"
# 执行gowall命令
echo "正在转换: $input_file -> $output_file"
gowall convert "$input_file" -t catppuccin --output "$output_file"
# 检查命令执行结果
if [ $? -eq 0 ]; then
echo "✅ 转换成功: $output_file"
else
echo "❌ 转换失败"
exit 1
fi
Usage
1
2
3
4
5
6
# 赋予脚本执行权限
chmod +x mocha_it
# 将脚本放在PATH中,例如:~/bin/mocha_it,个人是存在到`~/dotfiles/bin/`目录下
export PATH="$PATH:~/dotfiles/bin"
# 执行脚本
mocha_it ./img/cover.jpg