]> git.eshelyaron.com Git - emacs.git/commitdiff
* nsterm.m (toggleFullScreen:): Hide menubar on secondary monitor
authorJan Djärv <jan.h.d@swipnet.se>
Thu, 6 Feb 2014 07:57:53 +0000 (08:57 +0100)
committerJan Djärv <jan.h.d@swipnet.se>
Thu, 6 Feb 2014 07:57:53 +0000 (08:57 +0100)
for OSX >= 10.9 if separate spaces are used.
(toggleFullScreen:): Use screen of w instead of fw.

Fixes: debbugs:16659
src/ChangeLog
src/nsterm.m

index 925cb4625a21bb12c634ab0f1bca2545c43780fa..8a7dfae48644aa6f6c95474e392390eca0ea5865 100644 (file)
@@ -1,3 +1,9 @@
+2014-02-06  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (toggleFullScreen:): Hide menubar on secondary monitor
+       for OSX >= 10.9 if separate spaces are used.
+       (toggleFullScreen:): Use screen of w instead of fw (Bug#16659).
+
 2014-02-06  Glenn Morris  <rgm@gnu.org>
 
        * buffer.c (cache-long-scans): Doc fix.
index 34e9320af9587d89cac648616c7776443a56ef3c..8bb806e47c88a84a6a708555090d75b68a693d45 100644 (file)
@@ -6396,6 +6396,14 @@ if (cols > 0 && rows > 0)
 
   if (fs_state != FULLSCREEN_BOTH)
     {
+      NSScreen *screen = [w screen];
+
+#if defined (NS_IMPL_COCOA) && \
+  MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_9
+      /* Hide ghost menu bar on secondary monitor? */
+      if (! onFirstScreen)
+        onFirstScreen = [NSScreen screensHaveSeparateSpaces];
+#endif
       /* Hide dock and menubar if we are on the primary screen.  */
       if (onFirstScreen)
         {
@@ -6416,7 +6424,7 @@ if (cols > 0 && rows > 0)
                                  styleMask:NSBorderlessWindowMask
                                    backing:NSBackingStoreBuffered
                                      defer:YES
-                                    screen:[w screen]];
+                                    screen:screen];
 
       [fw setContentView:[w contentView]];
       [fw setTitle:[w title]];
@@ -6439,7 +6447,7 @@ if (cols > 0 && rows > 0)
       [fw makeKeyAndOrderFront:NSApp];
       [fw makeFirstResponder:self];
       [w orderOut:self];
-      r = [fw frameRectForContentRect:[[fw screen] frame]];
+      r = [fw frameRectForContentRect:[screen frame]];
       [fw setFrame: r display:YES animate:YES];
       [self windowDidEnterFullScreen:nil];
       [fw display];