diff --git a/app/internal/wm/os_macos.go b/app/internal/wm/os_macos.go index 103b92e1..7e774993 100644 --- a/app/internal/wm/os_macos.go +++ b/app/internal/wm/os_macos.go @@ -395,9 +395,9 @@ func NewWindow(win Callbacks, opts *Options) error { return } errch <- nil - win.SetDriver(w) w.w = win w.window = C.gio_createWindow(w.view, nil, 0, 0, 0, 0, 0, 0) + win.SetDriver(w) w.Option(opts) if nextTopLeft.x == 0 && nextTopLeft.y == 0 { // cascadeTopLeftFromPoint treats (0, 0) as a no-op, diff --git a/app/internal/wm/os_macos.m b/app/internal/wm/os_macos.m index 8befc0c1..7453b9a3 100644 --- a/app/internal/wm/os_macos.m +++ b/app/internal/wm/os_macos.m @@ -316,7 +316,8 @@ CFTypeRef gio_createView(void) { @implementation GioAppDelegate - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - [[NSRunningApplication currentApplication] activateWithOptions:(NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)]; + [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]; + [NSApp activateIgnoringOtherApps:YES]; gio_onFinishLaunching(); } - (void)applicationDidHide:(NSNotification *)aNotification { @@ -332,7 +333,6 @@ void gio_main() { [NSApplication sharedApplication]; GioAppDelegate *del = [[GioAppDelegate alloc] init]; [NSApp setDelegate:del]; - [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]; NSMenuItem *mainMenu = [NSMenuItem new];