diff --git a/gdk/macos/GdkMacosWindow.c b/gdk/macos/GdkMacosWindow.c index a30d1b71a1..deea0477f7 100644 --- a/gdk/macos/GdkMacosWindow.c +++ b/gdk/macos/GdkMacosWindow.c @@ -804,12 +804,28 @@ typedef NSString *CALayerContentsGravity; lastUnfullscreenFrame = [self frame]; } +-(void)windowDidEnterFullScreen:(NSNotification *)aNotification +{ + initialPositionKnown = NO; + [self checkSendEnterNotify]; +} + -(void)windowWillExitFullScreen:(NSNotification *)aNotification { [self setFrame:lastUnfullscreenFrame display:YES]; } -(void)windowDidExitFullScreen:(NSNotification *)aNotification +{ + initialPositionKnown = NO; + [self checkSendEnterNotify]; +} + +-(void)windowDidFailToEnterFullScreen:(NSNotification *)aNotification +{ +} + +-(void)windowDidFailToExitFullScreen:(NSNotification *)aNotification { } diff --git a/gdk/macos/gdkmacostoplevelsurface.c b/gdk/macos/gdkmacostoplevelsurface.c index 17b1cec708..a14644fceb 100644 --- a/gdk/macos/gdkmacostoplevelsurface.c +++ b/gdk/macos/gdkmacostoplevelsurface.c @@ -646,6 +646,9 @@ _gdk_macos_toplevel_surface_new (GdkMacosDisplay *display, defer:NO screen:screen]; + /* Allow NSWindow to go fullscreen */ + [window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary]; + self = g_object_new (GDK_TYPE_MACOS_TOPLEVEL_SURFACE, "display", display, "frame-clock", frame_clock,