Minimal example that connects to the Wayland compositor and prints all advertised globals (interface name, ID, version).
27 lines
759 B
Rust
27 lines
759 B
Rust
use wayland_client::globals::registry_queue_init;
|
|
use wayland_client::globals::GlobalListContents;
|
|
use wayland_client::protocol::wl_registry::{Event, WlRegistry};
|
|
use wayland_client::{Connection, Dispatch, QueueHandle};
|
|
|
|
struct Ls;
|
|
|
|
impl Dispatch<WlRegistry, GlobalListContents> for Ls {
|
|
fn event(
|
|
_state: &mut Self,
|
|
_registry: &WlRegistry,
|
|
_event: Event,
|
|
_data: &GlobalListContents,
|
|
_conn: &Connection,
|
|
_qhandle: &QueueHandle<Self>,
|
|
) {
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let conn = Connection::connect_to_env().unwrap();
|
|
let (globals, _queue) = registry_queue_init::<Ls>(&conn).unwrap();
|
|
for g in globals.contents().clone_list() {
|
|
println!("{}: {} v{}", g.name, g.interface, g.version);
|
|
}
|
|
}
|