diff --git a/hcie-iced-app/crates/hcie-iced-gui/src/app.rs b/hcie-iced-app/crates/hcie-iced-gui/src/app.rs index c16e1a4..a57d249 100644 --- a/hcie-iced-app/crates/hcie-iced-gui/src/app.rs +++ b/hcie-iced-app/crates/hcie-iced-gui/src/app.rs @@ -468,7 +468,13 @@ impl HcieIcedApp { } app.initialized = true; - let init_task = Task::none(); + let init_task = iced::window::get_oldest().map(|opt_id| { + if let Some(id) = opt_id { + Message::WindowId(id) + } else { + Message::NoOp + } + }); (app, init_task) } @@ -1817,7 +1823,7 @@ impl HcieIcedApp { /// - Ctrl+V: Paste /// - Escape: Close dialog pub fn subscription(&self) -> iced::Subscription { - iced::keyboard::on_key_press(|key, modifiers| { + let keyboard = iced::keyboard::on_key_press(|key, modifiers| { let ctrl = modifiers.control() || modifiers.logo(); let shift = modifiers.shift(); @@ -1863,6 +1869,8 @@ impl HcieIcedApp { } _ => None, } - }) + }); + + iced::Subscription::batch(vec![keyboard]) } }