aboutsummaryrefslogtreecommitdiff
path: root/src/handlers
diff options
context:
space:
mode:
authorKirill Chibisov <contact@kchibisov.com>2023-10-17 16:53:04 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-10-24 17:26:01 +0400
commitc6ec36f422c0b7e955bddcc7f783a963e313a8a7 (patch)
treecc0e1b9074907a0dad00e844abcde72c208012c5 /src/handlers
parent8a06bf1558ee697437ad048e525019e6813f724a (diff)
downloadniri-c6ec36f422c0b7e955bddcc7f783a963e313a8a7.tar.gz
niri-c6ec36f422c0b7e955bddcc7f783a963e313a8a7.tar.bz2
niri-c6ec36f422c0b7e955bddcc7f783a963e313a8a7.zip
Update smithay to the latest git
This fixes IME handling.
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