wallflow
Elegant wallpaper management with smooth transitions
A modern, Rust-based wallpaper manager that brings fluidity to your Linux desktop with multiple sources, smooth transitions, and dynamic color schemes.
About This Project
This is my first Rust project. I decided to learn Rust by building something I'd actually use daily. wallflow started as a learning exercise and evolved into a reasonably decent wallpaper manager. While toying around with hyprland, I used awww for smooth transitions and loved it. So I decided to do something like variety, but powered by aww so you have smooth transitions. KWin in KDE support wlr-layer-shell, and awww works perfectly. Sorry, GNOME.
Thus, wallflow was born.
The codebase reflects this journey and that means, it is not perfect. Use it at your own risk. But hey, it's open source! Feel free to contribute and help me improve it.
Features
-
Multiple Wallpaper Sources
-
Smart Features
-
Desktop Support
- Hyprland, Sway, and other wlroots compositors
- KDE Plasma (KWin supports wlr-layer-shell)
- X11 (feh, nitrogen)
Installation
From crates.io
Pre-built Binaries
Download from GitHub Releases:
# Download and install
Fedora (COPR)
From Source
Quick Start
# Set wallpaper from local collection
# Download from online sources
# Run as daemon (auto-rotate)
# Run daemon in foreground (for testing)
# Check for updates
Configuration
Configuration file: ~/.config/wallflow/config.yml
Create it by copying the example:
See config.example.yml for all options.
Updating
wallflow can update itself:
# Check for updates
# Download and install update
Note: Self-update is disabled for package manager installations (dnf, apt). Use your package manager instead.
Contributing
Contributions are welcome! This is a learning project, so:
- Beginners: Your PRs are welcome. We all start somewhere.
- Experts: Help improve the code quality and teach better patterns.
See CONTRIBUTING.md for guidelines.
Roadmap
See TODO.md for planned features including:
- Interactive TUI wallpaper browser
- Vim-style keybindings
- Collection management and tagging
- Multi-monitor support
- Plugin system
License
MIT - See LICENSE