Command-tabbing fix for OS X.

This commit is contained in:
IntellectualKitty 2016-11-05 17:23:55 -06:00 committed by GitHub
parent 8210f89b12
commit 2a32a783a7

View File

@ -1249,12 +1249,30 @@ void _glfwPlatformMaximizeWindow(_GLFWwindow* window)
void _glfwPlatformShowWindow(_GLFWwindow* window)
{
[window->ns.object orderFront:nil];
if (window->monitor)
{
[window->ns.object makeKeyAndOrderFront:window->ns.object];
NSApplicationPresentationOptions options =
NSApplicationPresentationHideDock +
NSApplicationPresentationHideMenuBar +
NSApplicationPresentationDisableProcessSwitching +
NSApplicationPresentationDisableHideApplication;
[NSApp setPresentationOptions:options];
}
else
{
[window->ns.object orderFront:window->ns.object];
NSApplicationPresentationOptions options =
NSApplicationPresentationDefault;
[NSApp setPresentationOptions:options];
}
}
void _glfwPlatformHideWindow(_GLFWwindow* window)
{
[window->ns.object orderOut:nil];
[window->ns.object orderOut:window->ns.object];
}
void _glfwPlatformFocusWindow(_GLFWwindow* window)
@ -1265,7 +1283,23 @@ void _glfwPlatformFocusWindow(_GLFWwindow* window)
// should probably not be done every time any window is shown
[NSApp activateIgnoringOtherApps:YES];
[window->ns.object makeKeyAndOrderFront:nil];
[window->ns.object makeKeyAndOrderFront:window->ns.object];
if (window->monitor)
{
NSApplicationPresentationOptions options =
NSApplicationPresentationHideDock +
NSApplicationPresentationHideMenuBar +
NSApplicationPresentationDisableProcessSwitching +
NSApplicationPresentationDisableHideApplication;
[NSApp setPresentationOptions:options];
}
else
{
NSApplicationPresentationOptions options =
NSApplicationPresentationDefault;
[NSApp setPresentationOptions:options];
}
}
void _glfwPlatformSetWindowMonitor(_GLFWwindow* window,
@ -1363,6 +1397,22 @@ void _glfwPlatformSetWindowMonitor(_GLFWwindow* window,
[window->ns.object setHasShadow:YES];
}
if (window->monitor)
{
NSApplicationPresentationOptions options =
NSApplicationPresentationHideDock +
NSApplicationPresentationHideMenuBar +
NSApplicationPresentationDisableProcessSwitching +
NSApplicationPresentationDisableHideApplication;
[NSApp setPresentationOptions:options];
}
else
{
NSApplicationPresentationOptions options =
NSApplicationPresentationDefault;
[NSApp setPresentationOptions:options];
}
}
int _glfwPlatformWindowFocused(_GLFWwindow* window)