15 releases (6 stable)
2.0.2 | Apr 27, 2024 |
---|---|
2.0.1 | Apr 13, 2024 |
1.0.2 | Mar 8, 2024 |
1.0.1 | Feb 25, 2024 |
0.1.5 | Feb 15, 2024 |
#720 in GUI
1,453 downloads per month
Used in ruin
34KB
834 lines
WLRS /wɔːlrəs/

Rust library for managing wallpapers
Supported environments
- Every Wayland compositor that implements layer-shell (e.g. Hyprland, Sway, Wayfire, etc.)
- X11 environments that don't have their own wallpaper management (e.g. dwm, i3, bspwm, etc.)
Examples:
Setting from memory:
use wlrs::set_from_memory;
fn main() {
// Set to first monitor
let wallpaper = image::open("wallpaper.jpg").unwrap();
set_from_memory(wallpaper, vec![0]).unwrap();
// Set to multiple monitors
let wallpaper = image::open("wallpaper.jpg").unwrap();
set_from_memory(wallpaper, vec![0, 1]).unwrap();
// Set to all monitors
let wallpaper = image::open("wallpaper.jpg").unwrap();
set_from_memory(wallpaper, Vec::new()).unwrap();
}
Setting from file path:
use wlrs::set_from_path;
fn main() {
// Set to first monitor
set_from_path("wallpaper.jpg", vec![0]).unwrap();
// Set to multiple monitor
set_from_path("wallpaper.jpg", vec![0, 1]).unwrap();
// Set to all monitors
set_from_path("wallpaper.jpg", Vec::new())unwrap();
}
TODO
- Better errors
- Add different crop modes
- Fix crashing when new output added
Dependencies
~19–29MB
~471K SLoC