wlrs

Crates.iowlrs
lib.rswlrs
version2.0.2
sourcesrc
created_at2024-02-07 18:58:59.591477
updated_at2024-04-27 19:14:41.148041
descriptionRust library for managing wallpapers
homepage
repositoryhttps://github.com/unixpariah/wlrs
max_upload_size
id1130836
size45,748
unixpariah (unixpariah)

documentation

README

WLRS /wɔːlrəs/ crate Build Status codecov docs

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
Commit count: 85

cargo fmt