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.0.0.tar.gz (46.8 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.0.0-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyrrot_wallpaper-1.0.0.tar.gz
  • Upload date:
  • Size: 46.8 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.0.0.tar.gz
Algorithm Hash digest
SHA256 6fe4d70eef5d9ebee0961fe115d828e83889553105c67e1e70dc809b045ef3f4
MD5 c1e4f62fbb257b6262463efc656784ee
BLAKE2b-256 6c1a119b16617780d0bf0b2a53fb8a1f82cf633606c491c44f5efcc8e28daa19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyrrot_wallpaper-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4b6e7ab2372312fbe2e500aa639921562449a8c1dd7564f0320c8b6014a128e
MD5 d163c7c60df4362a05319e02002ca73c
BLAKE2b-256 cb33896429c235cc57a21802a2422aafce4c7553426fb44711cbb38c5a299f3b

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