/glitch-wallpaper

Create glitch transitions between wallpapers / desktop backgrounds in Linux

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Glitch Wallpaper

Automatic glitch transition animations for Linux desktop backgrounds / wallpapers

glitch_wallpaper
Artist Credit:


Features:

  • Recursively searches directory for images
  • JPEGs and PNGs are supported
  • Customize duration, transition time, etc.

Notes:

  • For best performance, I recommend using JPEGs which match (or are close to) your native display resolution. Using larger-resolution images or PNGs can cause lag between frames.

Installation

  • Clone repo
$ git clone https://github.com/thetechromancer/glitch-wallpaper
$ cd glitch-wallpaper
  • Install dependencies (required)
$ python3 -m pip install --user Pillow
  • Install feh or nitrogen (highly recommended)
$ sudo apt install nitrogen
$ sudo apt install feh
  • Install imagemagick (required for PNG support)
$ sudo apt install imagemagick

Usage

$ ./glitch-wallpaper.py --help
usage: glitch-wallpaper.py [-h] [-d] [-t TRANSITION_TIME] [-f FRAMES] [-c CACHE_DIR] [-i] directory

positional arguments:
  directory             folder containing wallpapers

optional arguments:
  -h, --help            show this help message and exit
  -d, --dont-shuffle    disable shuffling of images
  -t TRANSITION_TIME, --transition-time TRANSITION_TIME
                        time in seconds between transitions
  -f FRAMES, --frames FRAMES
                        number of frames per transition
  -c CACHE_DIR, --cache-dir CACHE_DIR
                        directory to hold glitch resources
  -i, --install         install and start systemd service with current options

Example #1

Start from the command line. Just give it a folder containing pictures.

$ ./glitch-wallpaper.py ~/Pictures
[+] Generated frames for muyoung-kim-walk-in-the-rain-lr-myk.jpg          
[+] Generated frames for yuanyue-chang-img-6883.jpg          
[+] Generated frames for yuanyue-chang-img-6725.jpg          
[+] All frames generated.

Example #2

Run in the background as a Systemd service (will start automatically on boot).

$ ./glitch-wallpaper.py --install ~/Pictures
[+] Installing service
[+] Please provide password if prompted
[sudo] password for user: 
[+] Starting service
Created symlink /etc/systemd/system/multi-user.target.wants/glitch-wallpaper.service → /etc/systemd/system/glitch-wallpaper.service.
[+] Done
[+] Type the following command to check status of service:
     - systemctl status glitch-wallpaper.service