diff --git a/gdk/quartz/GdkQuartzNSWindow.c b/gdk/quartz/GdkQuartzNSWindow.c index cafabf4522..d85056be85 100644 --- a/gdk/quartz/GdkQuartzNSWindow.c +++ b/gdk/quartz/GdkQuartzNSWindow.c @@ -838,4 +838,19 @@ update_context_from_dragging_info (id sender) inMaximizeTransition = NO; } +-(NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize +{ + return [[window screen] frame].size; +} + +-(void)windowWillEnterFullScreen:(NSNotification *)aNotification +{ + lastUnfullscreenFrame = [self frame]; +} + +-(void)windowWillExitFullScreen:(NSNotification *)aNotification +{ + [self setFrame:lastUnfullscreenFrame display:YES] +} + @end diff --git a/gdk/quartz/GdkQuartzNSWindow.h b/gdk/quartz/GdkQuartzNSWindow.h index 31175da255..b8edf43e69 100644 --- a/gdk/quartz/GdkQuartzNSWindow.h +++ b/gdk/quartz/GdkQuartzNSWindow.h @@ -37,6 +37,7 @@ NSRect lastUnmaximizedFrame; NSRect lastMaximizedFrame; + NSRect lastUnfullscreenFrame; BOOL inMaximizeTransition; }