diff options
Diffstat (limited to 'video/out/cocoa-cb/window.swift')
-rw-r--r-- | video/out/cocoa-cb/window.swift | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/video/out/cocoa-cb/window.swift b/video/out/cocoa-cb/window.swift index 48f3210a22..94f80e59b4 100644 --- a/video/out/cocoa-cb/window.swift +++ b/video/out/cocoa-cb/window.swift @@ -272,6 +272,22 @@ class Window: NSWindow, NSWindowDelegate { } } + func setMinimized(_ stateWanted: Bool) { + if isMiniaturized == stateWanted { return } + + if stateWanted { + performMiniaturize(self) + } else { + deminiaturize(self) + } + } + + func setMaximized(_ stateWanted: Bool) { + if isZoomed == stateWanted { return } + + zoom(self) + } + func updateMovableBackground(_ pos: NSPoint) { if !isInFullscreen { isMovableByWindowBackground = mpv?.canBeDraggedAt(pos) ?? true @@ -466,6 +482,7 @@ class Window: NSWindow, NSWindowDelegate { func windowDidEndLiveResize(_ notification: Notification) { cocoaCB.layer?.inLiveResize = false + cocoaCB.mpv?.setConfigProperty(maximized: isZoomed) } func windowShouldClose(_ sender: NSWindow) -> Bool { @@ -498,4 +515,8 @@ class Window: NSWindow, NSWindowDelegate { func windowWillMove(_ notification: Notification) { isMoving = true } + + func windowDidMove(_ notification: Notification) { + cocoaCB.mpv?.setConfigProperty(maximized: isZoomed) + } } |