Table of Contents
For more documentation and examples of integration with other systems (Editor, Window Manager etc.) see the wiki: https://github.com/BuddhiLW/lazywal/wiki.
Lazywal is a terminal client for setting up animated wallpapers on Linux systems with X11. It supports:
- Multi-monitor setups with correct positioning
- Automatic monitor detection
- Video files and animated GIFs
- Pywal integration for system-wide color schemes
Download the appropriate binary for your system from the releases page.
go install github.com/BuddhiLW/lazywal/cmd/lazywal@latest
Required:
Optional:
- pywal - Color scheme generation
Basic usage:
# Auto-detect monitors and set wallpaper
lazywal set /path/to/video.mp4
# Set wallpaper with specific display size
lazywal set /path/to/video.mp4 display 1920x1080
# Set wallpaper and update color scheme
lazywal set /path/to/video.mp4 pywal
# Stop all wallpapers
lazywal kill
For more documentation and examples, see the wiki.
Lazywal automatically detects your monitor configuration and positions wallpapers correctly on each screen. No manual configuration needed!
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
Lazywal: a terminal client to setup animated (video-loop) wallpapers as the desktop background. It has some extra-features, like pywal native integration, for the flashy - like me.
Compatible with any OS that uses X-server.
Dependencies:
(Probably your favorite OS will have these in the package-manager listings)
Optional -- native integration:
See Installing dependencies (possibilities) for Linux and MacOS.
Universal install
make install PREFIX=$HOME/.local
Using Go
go install github.com/BuddhiLW/lazywal/cmd/lazywal@latest
This one-liner will install xwinwrap either with curl
or wget
(but not both).
Uses this gist.
With curl
:
curl -sSL https://gist.githubusercontent.com/BuddhiLW/5f43e75c81a56106d04cea6bbce0a238/raw/1aedf2fedbbe89d2d00e56560a950a8af4bca111/xwinwrap | bash
With wget
:
wget -qO- https://gist.githubusercontent.com/BuddhiLW/5f43e75c81a56106d04cea6bbce0a238/raw/1aedf2fedbbe89d2d00e56560a950a8af4bca111/xwinwrap | bash
brew install ffmpeg mpv
sudo apt-get install ffmpeg mpv
pip install pywal
To add auto-completion, you have to add complete -C lazywal lazywal
at .bashrc
.
The following script adds it, if it doesn't find the comment "<< lazywal autocompletion <<<<".
bash ./auto-completion.bash
Runs:
#!/bin/bash
# Define the comment and the lines to add
COMMENT="# << lazywal autocompletion <<<<"
LINE1="complete -C lazywal lazywal"
# Check if the comment already exists in .bashrc
if ! grep -Fxq "$COMMENT" ~/.bashrc; then
# If the comment does not exist, add the comment and the autocompletion line
echo "$COMMENT" >> ~/.bashrc
echo "$LINE1" >> ~/.bashrc
else
echo "Auto-completion already added in ~/.bashrc"
fi
For help
lazywal help
NAME
lazywal - Lazywal: a terminal client to facilitate setting up video-loops/gifs as background.
SYNOPSIS
lazywal COMMAND
COMMANDS
help - display help similar to man page format
conf - manage conf in /home/jacobi/.config/lazywal/config.yaml
var - cache variables in /home/jacobi/.cache/lazywal/vars
set-path|path|set - Renders the file in <path> as wallpaper with specified display dimension.
kill|clear - Kill all process related with 'xwinwrap' that may be hanging.
update-pywal|colors|pywal - Update pywal scheme to use a random frame from the loop.
dependencies|test - Test to see if all dependencies are available in your system.
DESCRIPTION
Lazywal: a terminal client to help setup video-loops/gifs as background.
You can use the following commands:
* lazywal set path (Tries to get first-display screen-size automatically)
* lazywal set path display WxH (Width x Height - e.g. 1440x1080, 2560x1080 etc.)
* lazywal kill (Kills all _xwinwrap_ processes running.)
Note: path should be the path to the video-loop file.
See the README.md for more information and examples, or use *_command-tree_ help* to see another man-page about the specific command-tree.
CONTACT
Site: buddhilw.com
Source: git@github.com/BuddhiLW/lazywal.git
Issues: github.com/BuddhiLW/lazywal/issues
LEGAL
lazywal (v1.0.3) Copyright 2021-2024 Zayac-The-Engineer, 2024 Pedro G. Branquinho (Go version)
License MIT License
If you add pywal
at the end of your command, then the lazywal
binary will use wal
command to update your X-server color-scheme.
lazywal set /path/to/file display 1920x1080 pywal