diff options
Diffstat (limited to 'video/out/cocoa-cb')
-rw-r--r-- | video/out/cocoa-cb/window.swift | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/video/out/cocoa-cb/window.swift b/video/out/cocoa-cb/window.swift index ae59f8bb6f..26308c5563 100644 --- a/video/out/cocoa-cb/window.swift +++ b/video/out/cocoa-cb/window.swift @@ -107,6 +107,19 @@ class Window: NSWindow, NSWindowDelegate { self.init(contentRect: contentRect, styleMask: [.titled, .closable, .miniaturizable, .resizable], backing: .buffered, defer: false, screen: screen) + + // workaround for an AppKit bug where the NSWindow can't be placed on a + // none Main screen NSScreen outside the Main screen's frame bounds + if screen != NSScreen.main() { + var absoluteWantedOrigin = contentRect.origin + absoluteWantedOrigin.x += screen!.frame.origin.x + absoluteWantedOrigin.y += screen!.frame.origin.y + + if !NSEqualPoints(absoluteWantedOrigin, self.frame.origin) { + self.setFrameOrigin(absoluteWantedOrigin) + } + } + cocoaCB = ccb title = cocoaCB.title minSize = NSMakeSize(160, 90) |