Skip to content

A CLI tool to generate gradient wallpapers on the fly.

License

Notifications You must be signed in to change notification settings

fr33zing/wallpapergen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wallpapergen

crates.io GNU GPL 3.0 or later

A CLI tool for generating gradient wallpapers.

View samples

Installation

If you don't have Rust, follow the installation instructions here.

Run the following command to install wallpapergen:

cargo install wallpapergen

Usage

Run the following command to view help:

wallpapergen --help

If the command isn't found, you will need to add ~/.cargo/bin to your path.

echo 'export PATH=$PATH:~/.cargo/bin' >> ~/.bashrc
source ~/.bashrc

If you're using zsh, replace ~/.bashrc with ~/.zshrc.

Examples

Here is the command used to generate the samples seen below:

wallpapergen -W 825 -H 350 \
    -c '#f2cdcd' \
    -c '#f5c2e7' \
    -c '#cba6f7' \
    -c '#f38ba8' \
    -c '#eba0ac' \
    -c '#fab387' \
    -c '#f9e2af' \
    -c '#a6e3a1' \
    -c '#94e2d5' \
    -c '#89dceb' \
    -c '#74c7ec' \
    -c '#89b4fa' \
    -c '#b4befe'

(These colors are from catppuccin)

Issues

This project is very early and may be buggy. Please file an issue if you have a problem.

Troubleshooting

  • Output paths passed in quotes may fail, prefer -o ~/example.png over -o '~/example.png' when possible.
  • Wallpapers generated within 1ms of each other will overwrite if no output path is specified. This occurs because the default filename includes the time in milliseconds.

Window manager integration

This program will print the path of the output file before it exits, so you can use xargs to pipe it to your wallpaper program. Here's my personal script:

wallpapergen -o ~/.wallpaper.png \
    -W 3440      \
    -H 1440      \
    -c '#f2cdcd' \
    -c '#f5c2e7' \
    -c '#cba6f7' \
    -c '#f38ba8' \
    -c '#eba0ac' \
    -c '#fab387' \
    -c '#f9e2af' \
    -c '#a6e3a1' \
    -c '#94e2d5' \
    -c '#89dceb' \
    -c '#74c7ec' \
    -c '#89b4fa' \
    -c '#b4befe' \
    | xargs -I{} swww img {}      \
        --transition-type  'grow' \
        --transition-speed '20'   \
        --transition-fps   '100'  \
        --transition-pos   0.5,0.5

Unnecessary, but it removes the need to repeat the output file path without using a variable.

Samples

Wallpaper sample 1 Wallpaper sample 2 Wallpaper sample 3 Wallpaper sample 4

About

A CLI tool to generate gradient wallpapers on the fly.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages