Skip to main content

A wallpaper manager

Project description

Pyrrot

This is a collection of scripts I use to manage my wallpapers. This is made for my usage in mind, and hasn't been tested much by others, but it might interest you. If you've got any suggestion or issue, please let me know.

I personnally use Archlinux, and more importantly i3wm and Sway. These scripts may not work on other window managers.

What does it do ?

The wallpaper.py script sets you wallpaper from a json file listing all your wallpapers with a few attributes. Wallpapers may be any file supported by feh (jpeg and non-animated png and gif) on X11, and Swaymsg on Sway (Wayland). Animated gif or vidéo support for live-wallpapers will be supported later using xwinwrap for X11. (I should also make a script to aut-generate such a json file if you just want to use a list of images without selection by tags or colors for instance.)

mpd-wallpaper will allow you to set your wallpaper with the cover of the current music you're listening to with your mpd server. It requires wallpaper.py.

Usage

  1. Edit wallpaper.conf according to your needs.
  2. Setup a cron job to run wallpaper.py to change the wallpaper regularly. Mine is */5 * * * * DISPLAY=:0 /home/user/scripts/wallpaper/wallpaper.py for X11, and SWAYSOCK=/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock /home/inazu ma/scripts/pyrrot/pyrrot-wrapper.sh for Wayland.
  3. Setup a systemd task for the mpd part (optional). See the mpd-wallpaper.service.example. Of course if you prefer not to run the scripts with cron or systemd, you're free to use them as you want.

Prerequisites

Python 3.7 for the mpd script, Python 3.5 for the wallpaper.py, pywal and either feh and i3wm or Sway. Linux (it might work on some BSD or macOS but it may need some tweaks, and it hasn't been tested at all)

Development

This software uses pytest to run automated test, checking that it functions well. Below is a list of commands useful for checking everything is allright.

pip install -e .
coverage run -m pytest --junitxml=report.xml
coverage report
pylint src/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrrot_wallpaper-1.1.0.tar.gz (46.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrrot_wallpaper-1.1.0-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file pyrrot_wallpaper-1.1.0.tar.gz.

File metadata

  • Download URL: pyrrot_wallpaper-1.1.0.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyrrot_wallpaper-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9ba50189cb1e2e37182178813baba189c41418675ec7afd7aa82adab8eb2309f
MD5 53392345afa4d6ceddc62cb7542650df
BLAKE2b-256 1db14259c8c20dd97acf88185aa0b67fc915ad17c884f0f8ee0108b6fefed53f

See more details on using hashes here.

File details

Details for the file pyrrot_wallpaper-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyrrot_wallpaper-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6dca5379044e4b41c2a83b079c515217e0627f1c4379694e6dea2e642f5acf44
MD5 0371adc8d7ac78cfd8d11597ab4a5188
BLAKE2b-256 a987400a19446822d153b3c5bd242ba9c8706ef988c24ef9b36359ef5e1d632f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page