https://github.com/achno/gowall
A tool to convert a Wallpaper's color scheme / palette, OCR with VLM's Traditional & Hybrid, Image Compression ,color palette extraction, image upsacling with Adversarial Networks and more image processing features.
https://github.com/achno/gowall
cli color-extractor color-palette color-scheme compression go image image-converter image-processing ocr pixel-art theme-switcher upscale
Last synced: 2 days ago
JSON representation
A tool to convert a Wallpaper's color scheme / palette, OCR with VLM's Traditional & Hybrid, Image Compression ,color palette extraction, image upsacling with Adversarial Networks and more image processing features.
- Host: GitHub
- URL: https://github.com/achno/gowall
- Owner: Achno
- License: mit
- Created: 2024-07-22T14:43:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-11T22:32:06.000Z (5 days ago)
- Last Synced: 2026-01-12T02:22:08.865Z (5 days ago)
- Topics: cli, color-extractor, color-palette, color-scheme, compression, go, image, image-converter, image-processing, ocr, pixel-art, theme-switcher, upscale
- Language: Go
- Homepage: https://achno.github.io/gowall-docs/
- Size: 8.15 MB
- Stars: 1,974
- Watchers: 8
- Forks: 31
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
###### *
Design By Achno*

[
Overview
](#overview-framed_picture)
[
Installation
](#installation-package)
[
Contributions
](#contributions-handshake)
---
# Overview :framed_picture:
Gowall started as a tool to convert an image ( specifically a wallpaper ) to any color-scheme / palette you like!
It has now evolved to a swiss army knife of image prosessing offering (OCR,Image upsacling,image compression and a lot more)
## Docs
Gowall is really well documented with **visual examples**: [Gowall Docs](https://achno.github.io/gowall-docs/)
---
## Features
❗ Although Gowall is a CLI tool, it has an `Image preview` feature that allows
printing images directly in the terminal. See [Gowall Terminal Image preview](https://achno.github.io/gowall-docs/#image-preview)
- **Convert Wallpaper's theme** – Recolor an image to match your favorite + (Custom) themes (Catppuccin...).
- **Image compression** - Reduce the size of png,jpeg,jpg,webp images.
- **OCR** - Extract text from images and pdfs', supporting 9+ providers (Traditional OCR, Visual Language Models and hybrid methods).
- **AI Image Upscaling** - Increase the resolution of the image while preserving or improving its quality.
- **Convert Icon's theme** (svg,ico) - Recolor your icons to match a theme.
- Support for Unix pipes/redirection - Read from stdin and write to stdout.
- 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.
- Extract 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.
---





---
# Themes :art:
You can check the section [here](https://achno.github.io/gowall-docs/themes) on how to create a **Custom Theme**.
The currently supported themes are featured below, if your favourite theme is missing open an issue or a pull request
All themes can be shown (both default and user-created via `~/.config/gowall/config.yml`) by `gowall list`.
- **Catppuccin flavors**
- **Dracula**
- **Everforest**
- **Gruvbox**
- **Nord**
- **Onedark**
- **Solarized**
- **Tokyo-dark/storm/moon**
Click to see more themes
- Arc Dark
- Atom Dark
- Atom One Light
- Cat Frappe/latte
- Cyberpunk
- Github Light (black & white)
- Kanagawa
- Material
- Melange (Dark & Light)
- Night Owl
- Oceanic Next
- Rose Pine
- Shades of Purple
- Sunset Aurant
- Sunset Saffron
- Sunset Tangerine
- Sweet
- Synthwave 84
---
# Installation :package:
Make sure to do `gowall -v` and compare it against the release page version,
since the [docs](https://achno.github.io/gowall-docs/installation) only show the commands/flags and capabilities of the latest released version.
### Grab the binary from the release section (Stable Release) 🢀 **Prefered Method**
- If the installation options do not cover your package manager of your distro/OS
- If gowall in your package manager is not up to date as per the [release section's latest version](https://github.com/Achno/gowall/releases)
- If you don't know how to install gowall and don't want to build the project.
Head over to the [release](https://github.com/Achno/gowall/releases) section
Choose the latest version of gowall. You should see a `.tar.gz` for your operating system and architecture. Simply Extract the binary inside named `gowall` and place it inside your `$PATH`
```sh
sudo cp gowall /usr/local/bin/
```
### MacOS (Homebrew) - currently on v0.2.0
```sh
brew install gowall
```
Thank you to `chenrui333`. You can find the [ruby formula](https://github.com/Homebrew/homebrew-core/blob/b86ea8e19ae7bf087fab8e2d56cd623eec1e1cf9/Formula/g/gowall.rb) there.
### Arch linux - AUR
```sh
yay -S gowall
```
### Fedora - COPR
```sh
sudo dnf copr enable achno/gowall
sudo dnf install gowall
```
### NixOS - ( Maintainer : [Emily Trau](https://github.com/emilytrau))
```yaml
environment.systemPackages = [
pkgs.gowall
];
```
More installation options : [here](https://search.nixos.org/packages?channel=24.05&from=0&size=50&sort=relevance&type=packages&query=gowall)
### Void Linux - XBPS-SRC ( Maintainer : [elbachir-one](https://github.com/elbachir-one/))
Assuming you have [void-packages](https://github.com/void-linux/void-packages)
```sh
git clone https://github.com/elbachir-one/void-templates
cd void-templates/ && cp -r gowall/ void-packages/srcpkgs/
cd void-packages/
./xbps-src pkg gowall
sudo xbps-install -R hostdir/binpkgs gowall
```
### Build from source (Cutting Edge)
If you are a normal user, consider using using the method above for a stable gowall release.
> If you want to contribute to the project
>
> Or have all the latest features that have not been released yet then
🔨 Clone the repo, build the project and move it inside your `$PATH`
```sh
git clone https://github.com/Achno/gowall
cd gowall
go build
sudo cp gowall /usr/local/bin/
gowall
```
If this threw any errors while building simply follow the solution below.
#### Windows (Or any OS if git cloning and go build did not work)
For Windows we need to install `zig` & `go` to build it. I advise you to use a package manager like [scoop](https://scoop.sh/) to install it. Obviously you can just go the zig website and download the installer, it doesn't really matter, the zig binary needs to be in your `$PATH`.
```bash
scoop install main/zig # or just go to the website and download zig if you don't want to use a package manager
```
```bash
git clone https://github.com/Achno/gowall
cd gowall
export CGO_ENABLED=1 # if you are using powershell : $env:CGO_ENABLED=1
export CC="zig cc" # if you are using powershell : $env:CC="zig cc"
export CXX="zig c++" # if you are using powershell : $env:CXX="zig c++"
go clean -cache
go build -v
# then simply add the binary to your PATH
```
---
# Contributions :handshake:
If you wish to contribute by adding a new theme please open an `issue`
I would also be very happy if you can provide the `rgb values` of your theme as well :) but not required if it's popular
Feel free to suggest any cool features that would improve gowall even further by opening an `issue`
# Community
## Community Extensions
The following are **third-party projects** built by the community that extend or integrate with `gowall`.
>[!Warning]
>These tools are **not officially affiliated with the `gowall` project**. Please audit/inspects scripts before running them.
### 🔗 Projects
- [**tinted-gowall**](https://github.com/tinted-theming/tinted-gowall) — A bridge between `gowall` and the [tinted-theming](https://github.com/tinted-theming) ecosystem. This project enables users to apply their `base16`/`base24` themes with `gowall`, unlocking hundreds of new visual styles.
# Special Thanks
Special thanks to [lutgen](https://github.com/ozwaldorf/lutgen-rs) for the original implementation of the color correction algorithm which i adapted for this project.