Struct smithay_client_toolkit::shell::ShellHandler [−][src]
pub struct ShellHandler { /* fields omitted */ }
Expand description
A handler for shells
For use with the environment!
macro. It is already
automatically included if you use the default_environment!
.
To use it, you need to set it as a handler for the shells you want to support (xdg_wm_base
,
zxdg_shell_v6
and/or wl_shell
). You can then implement the
ShellHandling
by delegating it, to get the shell-related methods on
Environment
struct MyEnv {
my_shell: ShellHandler
}
environment!(MyEnv,
singles=[
wl_shell::WlShell => my_shell,
xdg_wm_base::XdgWmBase => my_shell,
zxdg_shell_v6::ZxdgShellV6 => my_shell
],
multis=[],
);
impl ShellHandling for MyEnv {
fn get_shell(&self) -> Option<Shell> {
// delegate the impl to the stored handler
self.my_shell.get_shell()
}
}
let env = Environment::new(&attached_display, &mut queue, MyEnv {
my_shell: ShellHandler::new()
});
Implementations
Create a new handler