This Rust library gets and sets the desktop wallpaper/background.
The supported desktops are:
- Windows
- macOS
- GNOME
- KDE
- Cinnamon
- Unity
- Budgie
- XFCE
- LXDE
- MATE
- Deepin
- Most Wayland compositors (set only, requires swaybg)
- i3 (set only, requires feh)
use wallpaper;
fn main() {
// Returns the wallpaper of the current desktop.
println!("{:?}", wallpaper::get());
// Sets the wallpaper for the current desktop from a file path.
wallpaper::set_from_path("/usr/share/backgrounds/gnome/adwaita-day.png").unwrap();
// Sets the wallpaper style.
wallpaper::set_mode(wallpaper::Mode::Crop).unwrap();
// Returns the wallpaper of the current desktop.
println!("{:?}", wallpaper::get());
}
If you want to set an image as background via an URL, make sure you activated the from_url
feature of the wallpaper crate on Cargo.toml:
[dependencies]
wallpaper = { version = "3", features = ["from_url"] }
Then, on your main.rs:
use wallpaper;
fn main() {
// Returns the wallpaper of the current desktop.
println!("{:?}", wallpaper::get());
// Sets the wallpaper for the current desktop from a URL.
wallpaper::set_from_url("https://source.unsplash.com/random").unwrap();
// Returns the wallpaper of the current desktop.
println!("{:?}", wallpaper::get());
}