diff --git a/gdk/macos/GdkMacosWindow.c b/gdk/macos/GdkMacosWindow.c index fb81c0313a..3f45bc8d4c 100644 --- a/gdk/macos/GdkMacosWindow.c +++ b/gdk/macos/GdkMacosWindow.c @@ -746,12 +746,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 bb2a77f256..862eb8f1e9 100644 --- a/gdk/macos/gdkmacostoplevelsurface.c +++ b/gdk/macos/gdkmacostoplevelsurface.c @@ -690,6 +690,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,