██████╗ ██████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗ █████╗ ██████╗██╗ ██╗███╗ ██╗ ██████╗
██╔════╝ ██╔═══██╗██║ ██║██╔══██╗██║ ██║ ██╔══██╗╚██╗ ██╔╝ ██╔══██╗██╔════╝██║ ██║████╗ ██║██╔═══██╗
██║ ███╗██║ ██║██║ █╗ ██║███████║██║ ██║ ██████╔╝ ╚████╔╝ ███████║██║ ███████║██╔██╗ ██║██║ ██║
██║ ██║██║ ██║██║███╗██║██╔══██║██║ ██║ ██╔══██╗ ╚██╔╝ ██╔══██║██║ ██╔══██║██║╚██╗██║██║ ██║
╚██████╔╝╚██████╔╝╚███╔███╔╝██║ ██║███████╗███████╗ ██████╔╝ ██║ ██║ ██║╚██████╗██║ ██║██║ ╚████║╚██████╔╝
╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
Gowall is a tool to convert an image ( specifically a wallpaper ) to any color-scheme / pallete you like!
- It supports
single
andbatch
conversion of images to any of the available themes below. - It can convert whole
directories
with the#
delimiter, checkUsage
section - It also has the ability to
invert
the colors of the image and convert them later - Supports
Custom themes
Create your own theme by creating~/.config/gowall/config.yml
more details at theTheme
section!
png
jpeg
jpg
webp
-
Random mode
: This mode applies a series of transformations to your image in a random order. For example, it might first invert the colors, then apply the Nord theme, and then switch to the Catppuccin theme, among other possibilities. The final result will be a unique wallpaper that differs from standard conversions. Use this mode if you want to explore new color schemes or if you're looking for something beyond typical image conversions. -
Extract command
: Using this command on an image will extract the color-scheme and give you a pallete of 5 hex color codes ( aka. pywall ) -
TUI
: Will also have a pretty TUI version made withbubbletea
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 Mocha
- Nord
- Everforest
- Solarized
- Gruvbox
- Dracula
- Tokyo-dark/storm/moon
- Onedark
Click to see more themes
- Material
- Atom One Light
- Sweet
- Synthwave 84
- Atom Dark
- Oceanic Next
- Shades of Purple
- Arc Dark
- Sunset Aurant
- Sunset Saffron
- Sunset Tangerine
- Cyberpunk
- Night Owl
- Github Light (black & white)
Themes that were requested by the community and added to gowall
- Srcery
Step 1. Create the directory and file : ~/.config/gowall/config.yml
Step 2. Paste the below template and change the name and hex values for your theme
themes:
- name: "placeholder1"
colors:
- "#F5E0DC"
- "#F2CDCD"
- "#F5C2E7"
- "#CBA6F7"
- "#F38BA8"
- "#EBA0AC"
- "#FAB387"
- "#F9E2AF"
- "#A6E3A1"
- "#94E2D5"
- "#89DCEB"
- "#74C7EC"
- "#89B4FA"
- "#B4BEFE"
- "#CDD6F4"
- "#BAC2DE"
- "#A6ADC8"
- "#9399B2"
- "#7F849C"
- "#6C7086"
- "#585B70"
- "#45475A"
- "#313244"
- "#1E1E2E"
- "#181825"
- "#11111B"
- name: "placeholder2"
colors:
- "#F73253"
- "#FA39DF"
- "#005382"
- "#123456"
Notes 🗒️ :
- Duplicate theme names will not be loaded
Singe conversion
gowall convert path/to/img.png -t <theme-name-lowercase>
Notes 🗒️ :
path/to/img.png
does not have to be an absolute path. You can use a relative path with the~
ex.~/Pictures/img.png
<theme-name-lowercase>
is one of the above theme names but inlowercase
ex.catppuccin
-
Batch conversion
gowall convert -b path/img.png,path/im2.png -t <theme-name-lowercase>
⚠️ Do not leave any white spaces between the comma,
, do it like this :path/img.png,path/im2.png
-
Invert colors
gowall invert path/to/img.png
You can also batch invert colors with :
gowall invert -b path/img.png,path/img2.png
-
Convert a whole Directory
Use the
#
delimiter to convert every image file under that directorygowall convert ~/Pictures/# -t catppuccin gowall invert ~/Pictures/test/#
Notes 🗒️ : Only
png
jpeg
jpg
webp
images will be converted any other directory or other file will be ignored
-
List all theme names
gowall list
yay -S gowall
Assuming you have void-packages
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
🔨 Clone the repo, build the project and move it inside your $PATH
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
export GOPATH=$(go env GOPATH)
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
And simply use go install
go install github.com/Achno/gowall@latest
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