diff --git a/src/cocoa_monitor.m b/src/cocoa_monitor.m index 3dabf5845..432df1fda 100644 --- a/src/cocoa_monitor.m +++ b/src/cocoa_monitor.m @@ -362,6 +362,20 @@ void _glfwPlatformGetMonitorPos(_GLFWmonitor* monitor, int* xpos, int* ypos) void _glfwPlatformGetMonitorWorkarea(_GLFWmonitor* monitor, int* xpos, int* ypos, int *width, int *height) { + NSScreen *resultScreen; + for (NSScreen *screen in [NSScreen screens]) { + if ([[[screen deviceDescription] valueForKey:@"NSScreenNumber"] intValue] == monitor->ns.displayID) { + resultScreen = screen; + break; + } + } + + NSRect frameRect = [[NSScreen resultScreen] visibleFrame]; + + *xpos = NSMinX(frameRect) + *ypos = NSMinY(frameRect) + *width = NSMaxX(frameRect) + *height = NSMaxY(frameRect) } GLFWvidmode* _glfwPlatformGetVideoModes(_GLFWmonitor* monitor, int* count)