Skip to main content

Waypaper

GUI wallpaper setter for Wayland, Xorg, and macOS. It works as a frontend for popular wallpaper backends like swaybg, swww, awww, wallutils, hyprpaper, mpvpaper, gslapper, xwallpaper, feh, linux-wallpaperengine, and macos. See demo and documentation.

screenshot

Features

  • Vim keys
  • Supports GIF animations (with awww or mpvpaper or gslapper)
  • Supports videos (with mpvpaper or gslapper)
  • Supports multiple monitors (with awww or swaybg or hyprpaper or mpvpaper)
  • Works on Wayland (with awww or swww or swaybg or hyprpaper or wallutils or mpvpaper or gslapper)
  • Works on Xorg (with feh, xwallpaper or wallutils)
  • Works on macOS (with macos)
  • Supports linux-wallpaperengine so you can use your animated wallpapers from Steam's Wallpaper Engine
  • Restores wallpaper after restart (waypaper --restore)
  • Fast and minimal (315 kB)

Installation

Install at least one of the backends and Waypaper, which works as a frontend.

1. Install a backend

Install a preferred backend from your package manager: swww (archived) or awww or swaybg or hyprpaper on Wayland or xwallpaper or feh on Xorg or mpvpaper or gslapper or wallutils on both. Install linux-wallpaperengine if you want to use Steam's Wallpaper Engine animated wallpapers. On macOS, use the built-in macos backend.

2. Install Waypaper

Install waypaper, which is available in different repositories:

On all distributions

pipx install waypaper

If pipx is not found, you first need to install pipx from your package manager, it's sometimes called python-pipx.

On Arch-based distributions

yay -S waypaper

The waypaper package and unstable developer package waypaper-git are available in AUR, thanks to metak. Please upvote to support the project.

On NixOS

The waypaper package is available thanks to Basil Keeler.

On OpenSUSE

Users of OpenSUSE reported issue with installation via pipx install waypaper. This can be resolved by installing the python313-pycairo-devel and python313-gobject-devel packages first.

On Fedora

Waypaper is available in an external repository owned by Solopasha. You can add this repository as sudo dnf copr enable lionheartp/Hyprland and install as sudo dnf install waypaper.

On macOS

First install GTK3 and PyGObject via Homebrew, then install Waypaper:

brew install gtk+3 pygobject3
pipx install waypaper

If pipx is not installed: brew install pipx && pipx ensurepath.

To make Waypaper accessible from Spotlight and Launchpad, copy the provided app bundle to your Applications folder:

cp -r data/macos/Waypaper.app ~/Applications/

Dependencies

  • awww or swww or swaybg or xwallpaper or feh or wallutils or hyprpaper or mpvpaper or gslapper or linux-wallpaperengine or macos
  • gobject python library (it might be called python-gobject or python3-gi or python3-gobject in your package manager.)
  • python-imageio
  • python-imageio-ffmpeg
  • python-screeninfo
  • python-platformdirs
  • socat (only required for the mpvpaper backend, used for its IPC socket)

Usage

waypaper command will run GUI application.

To restore your wallpaper after restart, add waypaper --restore to your WM startup config.

Automatic wallpaper change (slideshow)

To rotate wallpapers automatically, open the slideshow panel from the options menu in the GUI, set an interval, and start it. For other ways to run the slideshow daemon, see the documentation.

Documentation

Contribution

Feel free to propose PR and suggest the improvements. I'll appreciate help with packaging for various distributions. If you wish to contribute with translation into your language, please see the translations.py file. Here are a few guiding principles for contribution:

  • Please do not apply automatic code formatting tools on the entire code base.
  • Please propose features separately, don't combine unrelated changes into one PR.
  • For big changes, please open an issue first to discuss, otherwise PR might be declined.
  • If the changes involve hundreds of lines of code, probably something is wrong. Most things can be done with small adjustments.

Support

I am not a professional developer and work on open-source projects in my free time. If you'd like to support the development, consider donations via:

  • Cards and PayPal: BuyMeACoffee
  • BTC bc1qpkzmutdqfxkce34skt09vll97s5smpa0r2tyzj
  • ETH 0x6f1Ce9cA181458Fc153a5f7cBF88044736C3b00C
  • BNB 0x40f22c372758E35C905458cAF8BB17f51ac133d1
  • LTC ltc1qtu33qyv2xlzxda5mmrmk943zpksq8q75tuh85p
  • XMR 4AHRhpNYUZcPVN78rbUWAzBuvMKQdpwStS5L3kjunnBMWWW2pjYBko1RUF6nQVpgQPdfAkM3jrEWrWKDHz1h4Ucd4gFCZ9j

Release files for waypaper 2.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for waypaper 2.9
File Size Uploaded
waypaper-2.9.tar.gz 76.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for waypaper 2.9
File Interpreter ABI Platform
waypaper-2.9-py3-none-any.whl Python 3 none any Details

Total release size: 145.1 kB

Release files / waypaper-2.9.tar.gz

Download URL waypaper-2.9.tar.gz
Size 76.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e562591bb21afb6216b78150357a1f80f3dee88d5a957d3f6c5dd885fa0eda97
BLAKE2b-256 checksum
How to use checksums
8a1f763370285b16cb0ac63b7436a0c52fcddf7658ecaa2ad93505182e033dfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / waypaper-2.9-py3-none-any.whl

Download URL waypaper-2.9-py3-none-any.whl
Size 69.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3455cb7b120a3b6bcaeddafb8e18bb415cd40187c9d9be106e528ba93b0e529f
BLAKE2b-256 checksum
How to use checksums
0539475b4ed28cd83c4b72d36859c0d97b9d37aa59d11f34c0850453034e2f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2.9 This release

2 release files

2.8

2 release files

2.7

2 release files

2.6

2 release files

2.5

2 release files

2.4

2 release files

2.3

2 release files

2.2

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0

2 release files

1.9.2

2 release files

1.9

2 release files

1.8

2 release files

1.7

2 release files

1.6

2 release files

1.5

2 release files

1.4.1

2 release files

1.4

2 release files

1.3

2 release files

1.2.1

2 release files

1.2

2 release files

1.1

2 release files

1.0.4

2 release files

1.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page