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
https://github.com/Achno/gowall
cli color-extractor color-palette color-scheme go image image-converter image-processing pixel-art theme-switcher upscale
Last synced: 16 days ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/Achno/gowall
- Owner: Achno
- License: mit
- Created: 2024-07-22T14:43:58.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-05T21:50:38.000Z (9 months ago)
- Last Synced: 2025-01-05T22:26:56.203Z (9 months ago)
- Topics: cli, color-extractor, color-palette, color-scheme, go, image, image-converter, image-processing, pixel-art, theme-switcher, upscale
- Language: Go
- Homepage: https://achno.github.io/gowall-docs/
- Size: 7.88 MB
- Stars: 558
- Watchers: 4
- Forks: 13
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/Achno/gowall - Convert a wallpaper's color scheme/palette (Customizations / Other)
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/Achno/gowall - Convert a wallpaper's color scheme/palette (Jump To / Customizations)
- awesome-repositories - 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 (Go)
- awesomeness - Achno/gowall - Gowall is a tool to convert an image ( specifically a wallpaper ) to any color-scheme / pallete you like! (🎨 Design / ☸️ Kubernetes)
- awesome-starred - 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 (Go)
- starred - 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 (Go)
README
###### *
Design By Achno*
[
Overview
](#overview-framed_picture)
[
Installation
](#installation-package)
[
Contributions
](#contributions-handshake)
---
# Overview :framed_picture:
Gowall is a tool to convert an image ( specifically a wallpaper ) to any color-scheme / palette you like!
It also offers a bunch of image processing features (image to pixel art, Image upscaling, color palette extraction...)## 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...).
- 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.
- 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.
### MacOS (Homebrew)
```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
```
### Grab the binary from the release section (Stable Release) 🢀 **Prefered Method**
If you don't know how to install gowall you should probably following this method rather than cloning and building 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/
```
### 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
```
Notes 🗒️ : You dont have to use `sudo cp gowall /usr/local/bin/` if you have `$GOPATH` setup correctly
Eg. you have the following in your .zshrc / .bashrc
```sh
export GOPATH=$(go env GOPATH)
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
```
And simply use `go install`
```sh
go install github.com/Achno/gowall@latest
```
---
# 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.