shell: add method to send close events

This commit is contained in:
Victor Berger 2018-03-23 19:27:04 +01:00
parent c36f4c43ed
commit cd0c5538d1
1 changed files with 12 additions and 0 deletions

View File

@ -615,6 +615,18 @@ where
configured configured
} }
/// Send a "close" event to the client
pub fn send_close(&self) -> EventResult<()> {
if !self.alive() {
return EventResult::Destroyed;
}
match self.shell_surface {
SurfaceKind::Wl(_) => EventResult::Sent(()),
SurfaceKind::XdgToplevel(ref s) => s.close(),
SurfaceKind::XdgPopup(_) => unreachable!(),
}
}
/// Access the underlying `wl_surface` of this toplevel surface /// Access the underlying `wl_surface` of this toplevel surface
/// ///
/// Returns `None` if the toplevel surface actually no longer exists. /// Returns `None` if the toplevel surface actually no longer exists.