Skip to main content

A daemon which manages your desktop wallpapers. Sort of the 'mpd' of wallpapers.

Project description

Wallpaper Changing Daemon (wcd)

Wallpaper Changing Daemon reminds me of mpd, but it manages wallpapers instead of music.

Overview

  • It comes with wcc too, which is a CLI client app, used to interact with the Daemon.
  • It works on python 3.9 (and, probably, on 3.7 and 3.8 too, not sure about lower versions though).
  • It only depends on PyYAML and coloredlogs, but you don't have to worry about installing them manually, pip's got you covered.
  • It copies it's default config file into ~/.config/wcd/, or to wherever you point it to, via $WCD_CFG.
  • I only code as a hobby, but I'd say I made a good job to make this very readable and, thus, feel very welcomed to check how things are implemented, to get a better understanding of what this program does, its capabilities, etc...
  • You need to have a program which will do the wallpaper switching (such as xwallpaper, feh or nitrogen) installed on your machine.

Installation

  1. Install the package: either pip install wcd or clone this repo and run setup.py
  2. Run the package once, to generate config files. If you wan't, you can point to where you want your config to be stored in by exporting an evironment variable named WCD_CFG, like this:
    • export WCD_CFG="path/to/config" # be sure to add this line to your ~/.profile or ~/.bashrc or whatever shell you use
    • python -m wcd
  3. Load the config file (defaults to ~/.config/wcd/cfg.yml) on your text editor and change the wallpaper_cmd entry to whatever suits you best.
  4. Kill the previous running instance if you haven't already and, then, restart the program.
  5. You're all set, enjoy.

Installing and Running as systemd Service

  1. Clone this repo: git clone https://github.com/brunofauth/wcd.git
  2. cd into it: cd wcd
  3. Copy the unit file to your systemd config folder: cp wcd.service ~/.config/systemd/user/wcd.service
  4. To enable starting wcd on login, run: systemctl enable --user wcd.service
  5. To immediatly start wcd, run: systemctl start --user wcd.service

Communicating with the wcd

python -m wcd.wcc --help

sxhkd keybindings for wcc (append to your sxhkdrc)

shift + XF86Audio{Play,Next,Prev}
    python -m wcd.wcc {toggle_cycle,next,prev}

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

wcd-0.0.0a4.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

wcd-0.0.0a4-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file wcd-0.0.0a4.tar.gz.

File metadata

  • Download URL: wcd-0.0.0a4.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for wcd-0.0.0a4.tar.gz
Algorithm Hash digest
SHA256 95cc4c8473c2e4cb80b4b281542a3b31ce13a47d5a4011f933c6380447746fc9
MD5 51f2d33bca141c1d8a0759a17f66dff1
BLAKE2b-256 c8c884be87f8570e8176c6a3a5ea02b5173f4731ca148c5c749417b470070157

See more details on using hashes here.

File details

Details for the file wcd-0.0.0a4-py3-none-any.whl.

File metadata

  • Download URL: wcd-0.0.0a4-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for wcd-0.0.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 e9c2c521b2c640dc29e85d7ed4878570ade9d53ac07ab63d6688d87651366379
MD5 fd38751aefda45ab9e89f1f51eec6696
BLAKE2b-256 b08070a7cb4f09af3ef73f8bf3399355303e07f9f75c8a10234075fe7f0691c3

See more details on using hashes here.

Supported by

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