Skip to main content

Pyprpaper

Pyprpaper is a hyprpaper client, its main purpose is to change wallpapers randomly (for given set of monitors) from a given directory(ies).

Features

  • Randomly change wallpapers for given monitors.
  • Recursive image look-up in all directories.
  • Timer to change wallpaper each n seconds.
  • Support for none-hyprpaper/hyprland setup.

Installation

You can install pyprpaper using pip:

pip install pyprpaper

It is also available in the AUR (pyprpaper) for the arch linux btw users:

# With yay
yay -S pyprpaper

The PKGBUILD and .SRCINFO files are at rofe33/pyprpaper-aur.

Usage

usage: pyprpaper [-h] [-v] -m monitor1 monitor2 [monitor1 monitor2 ...]
                 [-s SOCKET_PATH] [-k] [-K] [-r]
                 [-f [additional file types ...]] [-t TIMER]
                 path/to/directories [path/to/directories ...]

A simple wallpaper changer.

positional arguments:
  path/to/directories   Path to directories containing the images.

options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -m monitor1 monitor2 [monitor1 monitor2 ...], --monitors monitor1 monitor2 [monitor1 monitor2 ...]
                        Monitor(s) to change wallpapers on.
  -s SOCKET_PATH, --socket-path SOCKET_PATH
                        Override socket path.
  -k, --keep-wallpapers-loaded
                        Whether to keep wallpapers loaded in RAM or not.
  -K, --keep-wallpapers-consistent
                        Whether to randomly set the same wallpaper for all the
                        monitors.
  -r, --recursive       Whether to recursive get the images from the
                        directories.
  -f [additional file types ...], --additional-file-types [additional file types ...]
                        Additional image file types.
  -t TIMER, --timer TIMER
                        Timer to change the wallpaper each n seconds

All The Glory To Jesus God...

Example

Change wallpaper for all monitors in hyprland/hyprpaper set-up:

pyprpaper -m $(hyprctl -j monitors | jq -r '.[].name' | tr '\n' ' ') -- /path/to/wallpaper/directories

My Hyprpaper/Pyprpaper setup

I am running hyprland/hyprpaper, if you are not using hyprland things will defer depending on what you are using. However pyprpaper will work on any wayland compositor if you are using hyprpaper.

You can have an empty hyprpaper.conf setup and just run pyprpaper in the exec-once in hyprland.conf.

My current hyprpaper.conf config:

splash = off

and in hyprland.conf I have:

exec-once = pyprpaper -t 600 -m $(hyprctl -j monitors | jq -r '.[].name' | tr '\n' ' ') -- /path/to/directory(ies)

Metadata

Release files for pyprpaper 0.3.2

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

Source distribution (sdist)

Source distribution for pyprpaper 0.3.2
File Size Uploaded
pyprpaper-0.3.2.tar.gz 30.9 kB Details

Built distribution (wheel)

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

Total release size: 60.8 kB

Release files / pyprpaper-0.3.2.tar.gz

Download URL pyprpaper-0.3.2.tar.gz
Size 30.9 kB
Tags Source
SHA-256 checksum
How to use checksums
411b8a6b8b57f8b3140e503e4ca21b9e66a7aeaff487ffb410a9d117b5482cf1
BLAKE2b-256 checksum
How to use checksums
53209db4355430b12b03e1d5d13a40c06ebcdc2a7b675538252f8a9fade9620b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / pyprpaper-0.3.2-py3-none-any.whl

Download URL pyprpaper-0.3.2-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0370bc00bf77ae1327426b8e96fdc0db528afdce041c2f25c6a7474fff57b3f8
BLAKE2b-256 checksum
How to use checksums
69b34457ba71f16ceb12e1f70d1c821416baebd249cba458083845eb279b4818
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

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