summaryrefslogtreecommitdiffstats
path: root/video/out/cocoa-cb/window.swift
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/cocoa-cb/window.swift')
-rw-r--r--video/out/cocoa-cb/window.swift21
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)
+ }
}