wallpapergen

Crates.iowallpapergen
lib.rswallpapergen
version0.3.1
sourcesrc
created_at2022-11-27 02:10:52.166946
updated_at2023-03-09 02:27:40.306369
descriptionGradient wallpaper generator
homepage
repositoryhttps://github.com/fr33zing/wallpapergen
max_upload_size
id723552
size440,310
(fr33zing)

documentation

README

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

Commit count: 20

cargo fmt