examples/window.rs
use elvwlc::{
self as wlc,
client::WlClient,
proto::{WlMsg, WlRegistryGlobal},
};
use wlc::proto::WlDisplayGetRegistry;
fn main() {
let mut client = WlClient::new("/run/user/1000/wayland-0", 4096).unwrap();
let new_registry = client.next();
client
.request(WlMsg::new(
WlClient::ID,
WlDisplayGetRegistry { new_registry },
))
.unwrap();
client.pump().unwrap();
loop {
match client.read::<WlRegistryGlobal>() {
Ok(Some(msg)) => {
assert_eq!(msg.id(), new_registry);
println!("{:?}", msg.payload());
}
Ok(None) => break,
Err(e) => {
println!("Error: {e:?}");
break;
}
}
}
}