use drmkit_session::{Session, SessionError};
fn main() {
let paths: Vec<String> = std::env::args().skip(1).collect();
let mut backend = match drmkit_session::LibseatBackend::open() {
Ok(backend) => backend,
Err(SessionError::NoBackend) => {
println!("no seat here: not a login session, no seatd, no root TTY");
return;
}
Err(error) => {
eprintln!("seat: {error}");
std::process::exit(1);
}
};
println!("seat: {}", backend.name());
let mut session = Session::new(backend);
for path in &paths {
match session.take_device(path) {
Ok(device) => println!(" {path}: fd {}", device.fd),
Err(error) => println!(" {path}: {error}"),
}
}
if paths.is_empty() {
println!("pass device paths to open some");
}
}