diff --git a/crates/gpui/src/app.rs b/crates/gpui/src/app.rs index 0397032de8..cc8facafc6 100644 --- a/crates/gpui/src/app.rs +++ b/crates/gpui/src/app.rs @@ -1294,7 +1294,7 @@ impl MutableAppContext { pub fn is_action_available(&self, action: &dyn Action) -> bool { let action_type = action.as_any().type_id(); - if let Some(window_id) = self.cx.platform.key_window_id() { + if let Some(window_id) = self.cx.platform.main_window_id() { if let Some(focused_view_id) = self.focused_view_id(window_id) { for view_id in self.ancestors(window_id, focused_view_id) { if let Some(view) = self.views.get(&(window_id, view_id)) { diff --git a/crates/gpui/src/app/menu.rs b/crates/gpui/src/app/menu.rs index 5fe307a7c1..b0965539a5 100644 --- a/crates/gpui/src/app/menu.rs +++ b/crates/gpui/src/app/menu.rs @@ -77,9 +77,9 @@ pub(crate) fn setup_menu_handlers(foreground_platform: &dyn ForegroundPlatform, let cx = app.0.clone(); move |action| { let mut cx = cx.borrow_mut(); - if let Some(key_window_id) = cx.cx.platform.key_window_id() { - if let Some(view_id) = cx.focused_view_id(key_window_id) { - cx.handle_dispatch_action_from_effect(key_window_id, Some(view_id), action); + if let Some(main_window_id) = cx.cx.platform.main_window_id() { + if let Some(view_id) = cx.focused_view_id(main_window_id) { + cx.handle_dispatch_action_from_effect(main_window_id, Some(view_id), action); return; } } diff --git a/crates/gpui/src/platform.rs b/crates/gpui/src/platform.rs index 76c2707d26..4c1ba49690 100644 --- a/crates/gpui/src/platform.rs +++ b/crates/gpui/src/platform.rs @@ -58,7 +58,7 @@ pub trait Platform: Send + Sync { options: WindowOptions, executor: Rc, ) -> Box; - fn key_window_id(&self) -> Option; + fn main_window_id(&self) -> Option; fn add_status_item(&self) -> Box; diff --git a/crates/gpui/src/platform/mac/platform.rs b/crates/gpui/src/platform/mac/platform.rs index aeec02c8ca..9bb6430c64 100644 --- a/crates/gpui/src/platform/mac/platform.rs +++ b/crates/gpui/src/platform/mac/platform.rs @@ -587,8 +587,8 @@ impl platform::Platform for MacPlatform { Box::new(Window::open(id, options, executor, self.fonts())) } - fn key_window_id(&self) -> Option { - Window::key_window_id() + fn main_window_id(&self) -> Option { + Window::main_window_id() } fn add_status_item(&self) -> Box { diff --git a/crates/gpui/src/platform/mac/window.rs b/crates/gpui/src/platform/mac/window.rs index 19173707fb..a0c1820368 100644 --- a/crates/gpui/src/platform/mac/window.rs +++ b/crates/gpui/src/platform/mac/window.rs @@ -604,12 +604,12 @@ impl Window { } } - pub fn key_window_id() -> Option { + pub fn main_window_id() -> Option { unsafe { let app = NSApplication::sharedApplication(nil); - let key_window: id = msg_send![app, keyWindow]; - if msg_send![key_window, isKindOfClass: WINDOW_CLASS] { - let id = get_window_state(&*key_window).borrow().id; + let main_window: id = msg_send![app, mainWindow]; + if msg_send![main_window, isKindOfClass: WINDOW_CLASS] { + let id = get_window_state(&*main_window).borrow().id; Some(id) } else { None diff --git a/crates/gpui/src/platform/test.rs b/crates/gpui/src/platform/test.rs index 194684bd12..a3532dd96e 100644 --- a/crates/gpui/src/platform/test.rs +++ b/crates/gpui/src/platform/test.rs @@ -157,7 +157,7 @@ impl super::Platform for Platform { })) } - fn key_window_id(&self) -> Option { + fn main_window_id(&self) -> Option { None }