pub struct AppProxy(pub(crate) ndkm::Sender); impl types::AppProxy for AppProxy { fn wake(&self, id: i64) { self.0.send(id).ok(); } } pub struct AppCmd(pub ndkm::Recver); impl ndkm::LooperHandler for AppCmd { fn on(&self, _fd: core::ffi::c_int) { if let Ok(cmd) = self.0.recv() { crate::win::with_wins(|vars| { for (_, win) in vars.iter() { win.delegate().unwrap().on_proxy(win.win_ref(), cmd) } }) } } }