Docs

Wallpy is a small command-line program that sets your wallpaper from a pack and keeps it changing through the day, the week or on a schedule of its own.

Install

One binary, no runtime to install first.

Once a day Wallpy asks GitHub whether there's a newer release and, if so, says so in one line with the upgrade command for however you installed it. Set WALLPY_NO_UPDATE_CHECK=1 to turn that off.

Get started

Pick a pack from the gallery, right in your terminal:

Or use one by name. Every pack page in the gallery has its command:

Then see what's showing and when it changes next:

Packs that follow the sun use standard times (sunrise 06:30, sunset 18:30) until Wallpy knows roughly where you are. Running wallpy on its own before you have a pack asks you, then offers the gallery; or set it any time with wallpy location <city> (or auto to guess from your time zone).

Commands

wallpy
What's showing, today's schedule on the sky, and the next change.
wallpy use <pack>
Make a pack your wallpaper: a name from the gallery, a gallery link or a folder. Installs it if needed.
wallpy browse [search]
The gallery in your terminal, with previews. Enter uses a pack, o opens its page on this site, / searches.
wallpy show <pack> [--at 18:45]
A pack's credit, schedule and a preview, now or at another time. Works before you install it; --web opens its page here.
wallpy list
Your installed packs.
wallpy get <pack>
Download a pack without switching to it.
wallpy update [pack...]
Get new versions of your packs; unchanged images are kept.
wallpy remove <pack>
Delete an installed pack.
wallpy location [city | auto | lat,lon]
Where you are, for real sunrise and sunset times.
wallpy pause / resume
Hold the current wallpaper for a while, then carry on.
wallpy doctor
Check everything, with a fix for anything wrong.
wallpy check <folder>
Check a pack you're making against the pack format.
wallpy uninstall [--all | --keep]
Remove Wallpy from this computer.

wallpy --help and wallpy <command> --help show every option.

How it works

When you use a pack, Wallpy starts a small background agent that sleeps until the next scheduled change, sets the wallpaper, and goes back to sleep. It starts again when you log in, so your wallpaper keeps changing after a restart.

macOSA launchd agent; sets every display (the current Space on each).Packs and settings: ~/Library/Application Support/Wallpy
WindowsA Task Scheduler task at logon.Packs and settings: %LOCALAPPDATA%\Wallpy
LinuxAn XDG autostart entry; GNOME, Cinnamon, MATE, KDE Plasma, Xfce, LXQt, sway, Hyprland (swww or hyprpaper) or feh.Packs and settings: ~/.local/share/wallpy

Every image is checked against the pack's checksums when it's downloaded. If something looks wrong, wallpy doctor checks the agent, your packs and your location, and says how to fix it.

Uninstall

Stops and removes the background agent, keeps the wallpaper that's on screen, and asks whether to delete your packs and settings too (--all deletes them, --keep keeps them, without asking). If they go, the current wallpaper is saved to your Pictures folder first. It finishes by showing the command that removes Wallpy itself, for however you installed it. To stop changes for a while instead, use wallpy pause.

Make a pack

A pack is a folder of images and a schedule.toml that says which ones show when: blocks through the day (following the sun or the clock), days of the week, or an album that rotates. The easiest way to make one is the builder on this site; it writes the schedule for you.

Making one by hand? wallpy check ./my-pack validates it, and wallpy use ./my-pack tries it on your desktop.