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:

sh cargo install wallpapergen

Usage

Run the following command to view help:

sh wallpapergen --help

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

sh 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:

sh 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

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:

sh 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