Rust Paper
A Rust-based wallpaper manager for Linux/UNIX systems that fetches wallpapers from Wallhaven.
Installation
To get started with rust-paper, first install it:
Configuration
Run rust-paper once to initialize config directory and files.
Configuration files are stored in different locations depending on your operating system:
- Linux:
~/.config/rust-paper/config.toml - macOS:
~/Library/Application Support/rs.rust-paper/config.toml
Example config.toml
= "/Users/abhaythakur/Pictures/wall"
= true
= "your_wallhaven_api_key_here"
= 10
= 30
= 3
Configuration Options:
save_location: The directory where wallpapers will be savedintegrity: If set totrue, SHA256 checksums will be used for integrity verificationapi_key(optional): Wallhaven API key for higher rate limits and access to new featuresmax_concurrent_downloads: Maximum number of simultaneous downloads (default: 10)timeout: HTTP request timeout in seconds (default: 30)retry_count: Number of retry attempts for failed requests (default: 3)
Additional Files
wallpaper.lock: This file is used for integrity checks whenintegrityis set totrue.wallpapers.lst: This file stores the IDs of the wallpapers from Wallhaven. An example of its content is shown below:
p9pzk9
x6m3gl
gpl8d3
5gqmg7
qzp8dr
yx3kok
85pgqk
3lgk6y
kx6yqm
o5ww39
o5m9xm
l8rloq
l8o2op
7pmgv9
API Key Setup (Optional but Recommended)
To use advanced features like search, user settings, and collections, you need a Wallhaven API key:
- Visit Wallhaven.cc and create an account
- Go to Settings → API and generate your API key
- Add it to your config file or set as environment variable:
Usage
Once configured, you can run the application to download and manage wallpapers seamlessly.
Command Line Interface
Basic Commands (No API Key Required):
sync- Sync all wallpapers in your list
add- Add new wallpapers to your list
# Or
# Or with URLs
remove- Remove wallpapers from your list
list- List all tracked wallpapers with download status
clean- Remove downloaded wallpapers not in your list
info- Show detailed information about a wallpaper (works with or without API key)
Advanced Commands (Require API Key):
search- Search and download wallpapers by query or color
# Search by query
# Search by color
# Random wallpaper
Note: The --download flag saves wallpapers to save_location from your config, using the Wallhaven ID as the filename.
tag-info- Get tag information
user-settings- Show your Wallhaven account settings
user-collections- Show user collections
help- Print help message
For detailed information about API features, see API_INTEGRATION.md.
Options:
-h, --helpPrint help
Contributing
Contributions are welcome! Feel free to submit issues or pull requests.
🤝 Thanks ❤️
License
This project is licensed under the MIT License. See the LICENSE file for more details.