From 147268157cf703f91eb703e96c3d2c6887293714 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 15 Sep 2022 12:15:40 +0200 Subject: [PATCH] Animate popup window as if it were an `NSMenu` --- crates/gpui/src/platform/mac/window.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/crates/gpui/src/platform/mac/window.rs b/crates/gpui/src/platform/mac/window.rs index f21428a1a83ffd78b0cc9833d0d6c3bdcfb046c0..107870d9e60172ac1c78b3383de458edc345570c 100644 --- a/crates/gpui/src/platform/mac/window.rs +++ b/crates/gpui/src/platform/mac/window.rs @@ -475,11 +475,20 @@ impl Window { native_window.center(); } - native_window.makeKeyAndOrderFront_(nil); match options.kind { WindowKind::Normal => native_window.setLevel_(NSNormalWindowLevel), - WindowKind::PopUp => native_window.setLevel_(NSPopUpWindowLevel), + WindowKind::PopUp => { + #[allow(non_upper_case_globals)] + const NSWindowAnimationBehaviorUtilityWindow: NSInteger = 4; + + native_window.setLevel_(NSPopUpWindowLevel); + let _: () = msg_send![ + native_window, + setAnimationBehavior: NSWindowAnimationBehaviorUtilityWindow + ]; + } } + native_window.makeKeyAndOrderFront_(nil); window.0.borrow().move_traffic_light(); pool.drain();