Lazywal is a terminal client for setting up animated wallpapers on Linux systems with X11. Built with Bonzai for native MCP (Model Context Protocol) support.
- Multi-monitor support with automatic positioning
- Video files and animated GIFs
- Pywal integration for system-wide color schemes
- MCP-native: Control wallpapers via AI assistants (Claude, etc.)
go install github.com/BuddhiLW/lazywal/cmd/lazywal@latest
go install github.com/BuddhiLW/lazywal/cmd/lazywal-mcp@latestgit clone https://github.com/BuddhiLW/lazywal
cd lazywal
make install PREFIX=$HOME/.local| Required | Optional |
|---|---|
| mpv | pywal |
| xwinwrap | |
| xrandr |
# Set wallpaper (auto-detects monitors)
lazywal set /path/to/video.mp4
# Set with specific display size
lazywal set /path/to/video.mp4 display 1920x1080
# Set and apply pywal colors
lazywal set /path/to/video.mp4 pywal
# Stop all wallpapers
lazywal clear
# Show help
lazywal helpLazywal includes an MCP server that allows AI assistants to control your wallpaper.
# Add to Claude Code
claude mcp add --scope user --transport stdio lazywal -- lazywal-mcpAdd to ~/.claude.json or Claude Desktop config:
{
"mcpServers": {
"lazywal": {
"command": "lazywal-mcp",
"transport": "stdio"
}
}
}| Tool | Description | Parameters |
|---|---|---|
set |
Set video/GIF as wallpaper | path (required): absolute path to file |
clear |
Kill all wallpaper processes | none |
pywal |
Apply pywal colors from wallpaper frame | none |
Once configured, you can ask Claude:
- "Set my wallpaper to ~/Videos/ocean.mp4"
- "Update my terminal colors to match the wallpaper"
- "Clear my animated wallpaper"
The MCP server uses bonzai's injson persister to track wallpaper PIDs across calls. State is stored in ~/.local/state/lazywal/state.json, ensuring previous wallpapers are properly killed when setting new ones.
# Add to ~/.bashrc
complete -C lazywal lazywalOr run:
./auto-completion.bash# With curl
curl -sSL https://gist.githubusercontent.com/BuddhiLW/5f43e75c81a56106d04cea6bbce0a238/raw/xwinwrap | bash
# With wget
wget -qO- https://gist.githubusercontent.com/BuddhiLW/5f43e75c81a56106d04cea6bbce0a238/raw/xwinwrap | bash# macOS
brew install ffmpeg mpv
# Debian/Ubuntu
sudo apt-get install ffmpeg mpv
# Arch
sudo pacman -S ffmpeg mpvpip install pywalPull requests welcome! For major changes, please open an issue first.
- Original lazywal-cli by Zayac-The-Engineer
- Go rewrite by Pedro G. Branquinho
- Built with Bonzai CLI framework
