aboutsummaryrefslogtreecommitdiff
path: root/src/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers')
-rw-r--r--src/handlers/mod.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs
index 81ef9806..19742fcc 100644
--- a/src/handlers/mod.rs
+++ b/src/handlers/mod.rs
@@ -10,7 +10,7 @@ use std::thread;
use smithay::backend::allocator::dmabuf::Dmabuf;
use smithay::backend::renderer::ImportDma;
-use smithay::desktop::PopupKind;
+use smithay::desktop::{PopupKind, PopupManager};
use smithay::input::pointer::CursorImageStatus;
use smithay::input::{Seat, SeatHandler, SeatState};
use smithay::output::Output;
@@ -75,6 +75,11 @@ impl InputMethodHandler for State {
warn!("error tracking ime popup {err:?}");
}
}
+ fn dismiss_popup(&mut self, surface: PopupSurface) {
+ if let Some(parent) = surface.get_parent().map(|parent| parent.surface.clone()) {
+ let _ = PopupManager::dismiss_popup(&parent, &PopupKind::from(surface));
+ }
+ }
fn parent_geometry(&self, parent: &WlSurface) -> Rectangle<i32, Logical> {
self.niri
.layout