diff --git a/crates/collab_ui/src/incoming_call_notification.rs b/crates/collab_ui/src/incoming_call_notification.rs index 32b97274b355011cfeb2b2281209c55256f8c87d..e5c4b27d7e4abee3138d107c827b590261115331 100644 --- a/crates/collab_ui/src/incoming_call_notification.rs +++ b/crates/collab_ui/src/incoming_call_notification.rs @@ -41,6 +41,7 @@ pub fn init(cx: &mut MutableAppContext) { )), titlebar: None, center: false, + focus: false, kind: WindowKind::PopUp, is_movable: false, screen: Some(screen), diff --git a/crates/collab_ui/src/project_shared_notification.rs b/crates/collab_ui/src/project_shared_notification.rs index e814ae2720096c6467db41e9510ee2e8aadcedfc..0815d9c8d8c02c6756f65c61ca0b4c5187d0b016 100644 --- a/crates/collab_ui/src/project_shared_notification.rs +++ b/crates/collab_ui/src/project_shared_notification.rs @@ -40,6 +40,7 @@ pub fn init(cx: &mut MutableAppContext) { )), titlebar: None, center: false, + focus: false, kind: WindowKind::PopUp, is_movable: false, screen: Some(screen), diff --git a/crates/gpui/src/platform.rs b/crates/gpui/src/platform.rs index d2aee035ff0ffc40d259982b2e9b8c5d302e668b..2920835c4944092d1b9c24250312369cba0f2512 100644 --- a/crates/gpui/src/platform.rs +++ b/crates/gpui/src/platform.rs @@ -152,6 +152,7 @@ pub struct WindowOptions<'a> { pub bounds: WindowBounds, pub titlebar: Option>, pub center: bool, + pub focus: bool, pub kind: WindowKind, pub is_movable: bool, pub screen: Option>, @@ -296,6 +297,7 @@ impl<'a> Default for WindowOptions<'a> { traffic_light_position: Default::default(), }), center: false, + focus: true, kind: WindowKind::Normal, is_movable: true, screen: None, diff --git a/crates/gpui/src/platform/mac/window.rs b/crates/gpui/src/platform/mac/window.rs index 55340a172716f82d70f6dba6bc99b6553c535850..57c5c3711d23d228ddaa218f8b7dae68a3dbfb52 100644 --- a/crates/gpui/src/platform/mac/window.rs +++ b/crates/gpui/src/platform/mac/window.rs @@ -514,7 +514,11 @@ impl Window { ); } } - native_window.makeKeyAndOrderFront_(nil); + if options.focus { + native_window.makeKeyAndOrderFront_(nil); + } else { + native_window.orderFront_(nil); + } window.0.borrow().move_traffic_light(); pool.drain(); diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index f54114891c929c86863893279022ac3318851112..2709e267c6efcfc825f65ac1f1c5f759ba8faa64 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -354,6 +354,7 @@ pub fn build_window_options() -> WindowOptions<'static> { traffic_light_position: Some(vec2f(8., 8.)), }), center: false, + focus: true, kind: WindowKind::Normal, is_movable: true, screen: None,