Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
80
third-party/vendor/smithay-client-toolkit/examples/compositor_info.rs
vendored
Normal file
80
third-party/vendor/smithay-client-toolkit/examples/compositor_info.rs
vendored
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
extern crate smithay_client_toolkit as sctk;
|
||||
|
||||
use sctk::shell::Shell;
|
||||
|
||||
// This is a small program that queries the compositor for
|
||||
// various information and prints them on the console before exiting.
|
||||
|
||||
sctk::default_environment!(CompInfo, desktop);
|
||||
|
||||
fn main() -> Result<(), ()> {
|
||||
let (env, _display, _queue) = sctk::new_default_environment!(CompInfo, desktop)
|
||||
.expect("Unable to connect to a Wayland compositor");
|
||||
|
||||
println!("== Smithay's compositor info tool ==\n");
|
||||
|
||||
// print the best supported shell
|
||||
println!(
|
||||
"-> Most recent shell supported by the compositor is {}.",
|
||||
match env.get_shell() {
|
||||
Some(Shell::Wl(_)) => "the legacy wl_shell",
|
||||
Some(Shell::Zxdg(_)) => "the old unstable xdg_shell (zxdg_shell_v6)",
|
||||
Some(Shell::Xdg(_)) => "the current xdg_shell",
|
||||
None => "nothing",
|
||||
}
|
||||
);
|
||||
println!();
|
||||
|
||||
// print the outputs
|
||||
let outputs = env.get_all_outputs();
|
||||
println!("-> Compositor advertised {} outputs:", outputs.len());
|
||||
for output in outputs {
|
||||
sctk::output::with_output_info(&output, |info| {
|
||||
println!(
|
||||
" -> #{}: {} ({}), with scale factor of {}",
|
||||
info.id, info.model, info.make, info.scale_factor
|
||||
);
|
||||
println!(" Possible modes are:");
|
||||
for mode in &info.modes {
|
||||
println!(
|
||||
" -> [{}{}] {} x {} @ {}.{} Hz",
|
||||
if mode.is_preferred { "p" } else { " " },
|
||||
if mode.is_current { "c" } else { " " },
|
||||
mode.dimensions.0,
|
||||
mode.dimensions.1,
|
||||
mode.refresh_rate / 1000,
|
||||
mode.refresh_rate % 1000
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
println!();
|
||||
|
||||
// print the seats
|
||||
let seats = env.get_all_seats();
|
||||
println!("-> Compositor advertised {} seats:", seats.len());
|
||||
for seat in seats {
|
||||
sctk::seat::with_seat_data(&seat, |data| {
|
||||
print!(" -> {} with capabilities: ", data.name);
|
||||
if data.has_pointer {
|
||||
print!("pointer ");
|
||||
}
|
||||
if data.has_keyboard {
|
||||
print!("keyboard ");
|
||||
}
|
||||
if data.has_touch {
|
||||
print!("touch ");
|
||||
}
|
||||
println!();
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
if env.decorations_mgr.is_some() {
|
||||
println!("-> Compositor supports server-side decorations.")
|
||||
} else {
|
||||
println!("-> Compositor does not support server-side decorations.")
|
||||
}
|
||||
*/
|
||||
Ok(())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue