Design By Achno
ββ
βOverviewβ
ββ
ββ
βThemesβ
ββ
ββ
βUsageβ
ββ
ββ
βInstallationβ
ββ
ββ
βContributionsβ
ββ
βββββββ βββββββ βββ βββ ββββββ βββ βββ βββββββ βββ βββ ββββββ ββββββββββ βββββββ βββ βββββββ
ββββββββ ββββββββββββ ββββββββββββββ βββ ββββββββββββ ββββ βββββββββββββββββββ ββββββββ ββββββββββββ
βββ βββββββ ββββββ ββ ββββββββββββββ βββ ββββββββ βββββββ βββββββββββ ββββββββββββββ ββββββ βββ
βββ ββββββ ββββββββββββββββββββββββ βββ ββββββββ βββββ βββββββββββ βββββββββββββββββββββ βββ
βββββββββββββββββββββββββββββββ βββββββββββββββββββ ββββββββ βββ βββ ββββββββββββββ ββββββ βββββββββββββββ
βββββββ βββββββ ββββββββ βββ βββββββββββββββββββ βββββββ βββ βββ βββ ββββββββββ ββββββ βββββ βββββββ
Overview πΌ
Gowall is a tool to convert an image ( specifically a wallpaper ) to any color-scheme / pallete you like!
Features
- It supports
single
and batch
conversion of images to any of the available themes below.
- It can convert whole
directories
with the #
delimiter, check Usage
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 the Theme
section!
- It supports
image preview
β by printing the image on the terminal on kitty
. If you are running on an terminal emulator other than kitty it will just open your default image viewing
application no matter the operating system. ( You can disable this, check Usage
section )
Supported formats
png
jpeg
jpg
webp
Planned features
-
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 with bubbletea
Themes π¨
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
Create your own Theme
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
Usage β
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 in lowercase
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 directory
gowall 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
-
Image previewing
Image previewing is available for single image processing and is ON
by default
Examples : gowall convert ~/Pictures/img.png
and gowall invert ~/Pictures/img.png
You can disable it by adding the following inside your ~/.config/gowall/config.yml
EnableImagePreviewing: false
Installation π¦
Arch linux - AUR
yay -S gowall
Void Linux - XBPS-SRC ( Maintainer : elbachir-one )
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
Build from source
π¨ 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
Contributions π€
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