Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rofe33/pyprpaper
Randomly change wallpaper for all monitors in hyprpaper.
https://github.com/rofe33/pyprpaper
hyprland hyprpaper python-script python3 wallpaper-changer
Last synced: 12 days ago
JSON representation
Randomly change wallpaper for all monitors in hyprpaper.
- Host: GitHub
- URL: https://github.com/rofe33/pyprpaper
- Owner: rofe33
- License: gpl-3.0
- Created: 2024-05-15T10:20:05.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-05T19:27:02.000Z (15 days ago)
- Last Synced: 2024-11-05T19:41:24.629Z (15 days ago)
- Topics: hyprland, hyprpaper, python-script, python3, wallpaper-changer
- Language: Python
- Homepage:
- Size: 41 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://pypi.org/project/pyprpaper/) using `pip`:
```sh
pip install pyprpaper
```It is also available in the AUR ([pyprpaper](https://aur.archlinux.org/packages/pyprpaper)) for the arch linux
btw users:```sh
# With yay
yay -S pyprpaper
```The `PKGBUILD` and `.SRCINFO` files are at
[rofe33/pyprpaper-aur](https://github.com/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 secondsAll The Glory To Jesus God...
```### Example
Change wallpaper for all monitors in hyprland/hyprpaper set-up:
```sh
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)
```