Commit Diff


commit - 73b0f029e107c2d015ebb48d59d32f264973de49
commit + 10ccf8df0c884dcc07b52fdd1bff77f149170dd2
blob - 9684360c3643127d34afa4d375434f4bc514bc26
blob + f27c41dd7a84eca7827f6af8668a371ba361b5c3
--- src/cmd/devdraw/cocoa-screen.m
+++ src/cmd/devdraw/cocoa-screen.m
@@ -133,9 +133,6 @@ static NSCursor* makecursor(Cursor*);
 }
 - (void)windowDidBecomeKey:(id)arg
 {
-	if(win.isnfs || win.isofs)
-		hidebars(1);
-
 	in.touchevent = 0;
 
 	getmousepos();
@@ -685,6 +682,9 @@ getmousepos(void)
 	in.mpos.y = round(p.y);
 
 	updatecursor();
+
+	if(win.isnfs || win.isofs)
+		hidebars(1);
 }
 
 static void
@@ -1096,6 +1096,12 @@ hidebars(int set)
 	s0 = [[NSScreen screens] objectAtIndex:0];
 	old = [NSApp presentationOptions];
 
+#if OSX_VERSION >= 100700
+	/* This bit can get lost, resulting in dreadful bugs. */
+	if(win.isnfs)
+		old |= NSApplicationPresentationFullScreen;
+#endif
+
 	if(set && s==s0)
 		opt = (old & ~Autohiddenbars) | Hiddenbars;
 	else