Protocol

Changed

Pushed to every subscriber with the wallpaper that is now on screen.

EVENTcrownpaper.Changed
Subscribe
client.subscribe_blocking::<crownpaper::Changed>(Some(Duration::from_secs(5)))?;
Handle
while let Some(changed) = client.next_event::<crownpaper::Changed>() {
    println!("now showing {}", changed.path);
}

Changed fires after a transition lands, so a wallpaper picker can show the real state even when another app changed the wallpaper.

Payload

pathStringrequired

Absolute path of the wallpaper now on screen.