A professional command-line wrapper for linux-wallpaperengine that makes managing Steam Workshop wallpapers effortless.
- 🎯 Easy Management - Start, stop, and toggle wallpapers with simple commands
- ⭐ Favorites System - Save and randomly select from your favorite wallpapers
- 📜 History Tracking - Quick navigation through previously used wallpapers
- 🎨 Presets - Save and load different configurations for various scenarios
- 📊 Performance Stats - Monitor CPU, memory, and uptime of running wallpapers
- 🔄 Systemd Integration - Auto-start wallpapers on boot
- 🔒 Safe Operations - Built-in locking mechanism prevents race conditions
- 📝 Logging - Automatic log rotation and monitoring
- 🎭 Rich CLI - Colorful output with icons for better readability
- Linux operating system (any distro)
- Bash 4.0 or higher (already installed on most systems)
- linux-wallpaperengine - The core wallpaper engine (see installation below)
WPE is a wrapper around linux-wallpaperengine, so you need to install it first:
# Using yay
yay -S linux-wallpaperengine
# Using paru
paru -S linux-wallpaperenginegit clone https://github.com/Almamu/linux-wallpaperengine.git
cd linux-wallpaperengine
# Follow the build instructions in the repository READMEDownload from: linux-wallpaperengine releases
Note: The WPE installer will check for linux-wallpaperengine and guide you through installation if not found.
First, ensure linux-wallpaperengine is installed (see Requirements above).
curl -sL https://raw.githubusercontent.com/sodops/wpe/main/install.sh | bash# Clone the repository
git clone https://github.com/sodops/wpe.git
# Run the installer
cd wpe
./install.shThe installer will:
- ✅ Check for linux-wallpaperengine (and offer to install it on Arch Linux)
- ✅ Install
wpeto~/.local/bin/ - ✅ Make it executable
- ✅ Add
~/.local/binto PATH if needed - ✅ Create configuration directories
- ✅ Run first-time setup
After installation, you can immediately start using WPE!
# Start a wallpaper (use Steam Workshop ID)
wpe start 1234567890
# Stop current wallpaper
wpe stop
# Toggle wallpaper on/off
wpe toggle
# Restart current wallpaper
wpe restart
# Show status
wpe status
# Show current wallpaper info
wpe info
# Show performance statistics
wpe stats
# List installed wallpapers
wpe list
# Select wallpaper interactively
wpe select
# Remove a wallpaper
wpe remove 1234567890# Add current wallpaper to favorites
wpe fav add 1234567890
# List all favorites
wpe fav list
# Start random favorite
wpe fav random
# Remove from favorites
wpe fav remove 1234567890# Show history (last 10)
wpe history
# Show last 20 wallpapers
wpe history 20
# Switch to previous wallpaper
wpe prev
# Switch to next wallpaper
wpe next
# Clear history
wpe clear-history# Save current configuration as preset
wpe preset save gaming
# Load a preset
wpe preset load work
# List all presets
wpe preset list
# Delete a preset
wpe preset delete gaming# Install systemd service
wpe install-service
# Enable auto-start on boot
wpe enable
# Disable auto-start
wpe disable# Show last 50 log lines
wpe logs
# Follow logs in real-time
wpe logs follow
# Clear logs
wpe clear-logs
# Show current configuration
wpe configWPE uses XDG-compliant directories:
- Config:
~/.config/wpe/ - Cache:
~/.cache/wpe/
~/.config/wpe/config
# Display screen (use xrandr to list available screens)
WPE_SCREEN="eDP-1"
# Scaling mode: fit, fill, or stretch
WPE_SCALING="fit"
# Frame rate
WPE_FPS="30"
# Volume (0-100)
WPE_VOLUME="0"~/.config/wpe/
├── config # Main configuration file
├── favorites # List of favorite wallpaper IDs
└── presets/ # Saved preset configurations
├── gaming
├── work
└── ...
~/.cache/wpe/
├── current.id # Current wallpaper ID
├── history # Wallpaper history
├── wpe.log # Application logs
├── wpe.pid # Process ID file
└── wpe.lock # Lock file for safe operations
- Visit Steam Workshop - Wallpaper Engine
- Find a wallpaper you like
- Copy the ID from the URL:
https://steamcommunity.com/sharedfiles/filedetails/?id=XXXXXXXXXX - Use the ID with WPE:
wpe start XXXXXXXXXX
# Set up a wallpaper for gaming
wpe start 1845902173
wpe preset save gaming
# Create a work preset with low performance impact
wpe start 2459830408
wpe preset save work
# Quick random wallpaper from favorites
wpe fav add 1845902173
wpe fav add 2459830408
wpe fav add 1885286935
wpe fav random
# Check performance of current wallpaper
wpe stats
# Navigate through history
wpe prev # Go back to previous wallpaper
wpe next # Go forward in history# Check if linux-wallpaperengine is installed
which linux-wallpaperengine
# Check logs for errors
wpe logs
# Verify the wallpaper ID is correct
wpe info# Stop all instances
wpe stop
# Check status
wpe status# Stop wallpaper
wpe stop
# Clear logs and history
wpe clear-logs
wpe clear-history
# Start fresh
wpe start YOUR_WALLPAPER_IDContributions are welcome! Please see CONTRIBUTING.md for details.
This project is licensed under the MIT License - see the LICENSE file for details.
- linux-wallpaperengine - The core wallpaper engine for Linux
- Wallpaper Engine - The original Windows application
- Steam Workshop community for amazing wallpapers
- 🐛 Bug Reports: GitHub Issues
- 💬 Questions: GitHub Discussions
- ⭐ Star this repo if you find it useful!
- GUI using rofi/dmenu for wallpaper selection
- Automatic wallpaper downloads from Steam Workshop
- Theme/category organization for wallpapers
- Multi-monitor support with different wallpapers
- Scheduled wallpaper rotation
- Integration with popular Linux desktop environments
Made with ❤️ for the Linux community