Back to rankings

anufrievroman/waypaper

Pythonanufrievroman.gitbook.io/waypaper

GUI wallpaper manager for Wayland and Xorg Linux systems

gtk3hyprlandlinuxswaywmwallpaperwallpaper-appwallpaper-changerwayland-compatibilityfehi3swaybgswww
Star Growth
Stars
1k
Forks
68
Weekly Growth
Issues
12
5001k
Aug 2023Jul 2024Jul 2025Jul 2026
ArtifactsPyPIpip install waypaper
README

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

Usage

waypaper command will run GUI application.

waypaperd runs a simple slideshow daemon that periodically triggers waypaper --random. If no interval argument is passed, it reads waypaperd_cycle_length from Waypaper's configuration and falls back to 30 minutes.

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

Slideshow daemon service

Packaged installations also ship a waypaperd.service user unit. You can enable it with:

systemctl --user daemon-reload && systemctl --user enable --now waypaperd.service

The unit starts waypaperd without systemd-specific interval overrides, so the daemon follows Waypaper's normal configuration path.

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
Related repositories
xournalpp/xournalpp

Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

C++GNU General Public License v2.0notetakingcrossplatform
xournalpp.github.io
15k1.1k
elkowar/eww

ElKowars wacky widgets

Rustcrates.ioMIT Licenserustrust-lang
elkowar.github.io/eww
12.5k529
phw/peek

Simple animated GIF screen recorder with an easy to use interface

ValaGNU General Public License v3.0linuxgif-recorder
10.6k334
vinceliuice/WhiteSur-gtk-theme

MacOS like theme for all gtk based desktops

CSSnpmMIT Licensegnomegtk
9.1k733
pdfarranger/pdfarranger

Small python-gtk application, which helps the user to merge or split PDF documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface.

PythonPyPIGNU General Public License v3.0pdfgtk
5.7k310
gnunn1/tilix

A tiling terminal emulator for Linux using GTK+ 3

DMozilla Public License 2.0terminal-emulatorsdlang
gnunn1.github.io/tilix-web
5.7k322
lakinduakash/linux-wifi-hotspot

Feature-rich wifi hotspot creator for Linux which provides both GUI and command-line interface. It is also able to create a hotspot using the same wifi card which is connected to an AP already ( Similar to Windows 10).

CBSD 2-Clause "Simplified" Licensewifi-hotspotlinux
4.3k380
autokey/autokey

AutoKey, a desktop automation utility for Linux and X11.

PythonPyPIGNU General Public License v3.0python3desktop-application
autokey.github.io/index.html
3.9k261
pwmt/zathura

Document viewer

Czlib Licensedocumentviewer
pwmt.org/projects/zathura
3.2k209
Aylur/ags

Scaffolding CLI for Astal+Gnim

TypeScriptnpmGNU General Public License v3.0gtk3unixporn
aylur.github.io/ags/
3.1k154
nicotine-plus/nicotine-plus

Graphical client for the Soulseek peer-to-peer network

PythonPyPIGNU General Public License v3.0pythonsoulseek
nicotine-plus.org
3k186
tkashkin/GameHub

All your games in one place

ValaGNU General Public License v3.0elementary-appsvala
tkashkin.github.io/projects/gamehub
2.8k204