gowall

command module
v0.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2024 License: MIT Imports: 1 Imported by: 0

README ΒΆ

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 )
  • It supports color pallete extraction from an image (like pywal, Check Usage section for more information )
  • It supports changing image format fast for example from .webp --> .png
  • You can add a beautiful border with options to an image
Supported formats

png jpeg jpg webp

Planned features
  1. 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)

Community Themes 🌐

Themes that were requested by the community and added to gowall

  • Srcery
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 βš™
  1. Singe conversion
  gowall convert path/to/img.png -t <theme-name>

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
  • you can find the list of all the themes via gowall list check number 6. as well

  1. 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

  2. Invert colors

     gowall invert path/to/img.png
    

    You can also batch invert colors with :

     gowall invert -b path/img.png,path/img2.png
    

  3. 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


  4. List all theme names

     gowall list
    

    Notes πŸ—’οΈ: You can view the colors of a theme by using the -t flag Example:

     gowall list -t catppuccin
    

    You can also open up a hex preview app in your default browser via the -p flag Example : gowall list -pt catppuccin


  1. 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
    



  2. Pallete extraction ( Like pywal )

    You can extract the color pallete of an image as shown below :

    gowall extract /path/to/img.png -c 6
    

    The -c flag specifies how many hex color codes to return ( Personally i recommend between 6-16 with 6-7 being my go to). This will print the color codes to the terminal. In order for you to view all the colors of the hex codes at once you can use the -p flag.

    gowall extract /path/to/img.png -pc 6
    

    That will open a hex code previwer in your default web browser


  1. Wallpaper of the Day

    View beautiful wallpapers that reset daily

    gowall -w
    

    You can see an example here


  2. Changing formats

    Change the format of an image, the available formats are png jpeg jpg webp

     gowall convert ~/Pictures/img.webp -f png
    

  1. Adding a border

    Using the draw command you can draw a border and specify the color, thickness etc... The below draws a border 5px thick with the color #5D3FD3

      gowall draw ~/Pictures/img.png -c #5D3FD3 -b 5
    

    border

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

Documentation ΒΆ

Overview ΒΆ

Copyright Β© 2024 Achnologia <EMAIL ADDRESS>

Directories ΒΆ

Path Synopsis
internal
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL