summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2015-03-08 17:40:01 +0100
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2015-03-08 22:00:47 +0100
commitd7f04e20859708e69c1fc2538a19ca47ed025461 (patch)
tree22dac73b95ff6c17ab65514c0d7f7b60174adc8f /video
parent5c3a6ca96e8bb5275149e5763f27c6aaed35113d (diff)
downloadmpv-d7f04e20859708e69c1fc2538a19ca47ed025461.tar.bz2
mpv-d7f04e20859708e69c1fc2538a19ca47ed025461.tar.xz
cocoa: support the "window-minimized" property
Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
Diffstat (limited to 'video')
-rw-r--r--video/out/cocoa/window.m10
-rw-r--r--video/out/cocoa_common.m22
2 files changed, 32 insertions, 0 deletions
diff --git a/video/out/cocoa/window.m b/video/out/cocoa/window.m
index 14a3ba91c8..646281df79 100644
--- a/video/out/cocoa/window.m
+++ b/video/out/cocoa/window.m
@@ -71,6 +71,16 @@
[self.adapter windowDidBecomeKey:notification];
}
+- (void)windowDidMiniaturize:(NSNotification *)notification
+{
+ [self.adapter windowDidMiniaturize:notification];
+}
+
+- (void)windowDidDeminiaturize:(NSNotification *)notification
+{
+ [self.adapter windowDidDeminiaturize:notification];
+}
+
- (BOOL)canBecomeMainWindow { return YES; }
- (BOOL)canBecomeKeyWindow { return YES; }
- (BOOL)windowShouldClose:(id)sender
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m
index 608e380414..a1d2ac5e60 100644
--- a/video/out/cocoa_common.m
+++ b/video/out/cocoa_common.m
@@ -744,6 +744,16 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg)
});
return VO_TRUE;
}
+ case VOCTRL_GET_WIN_STATE: {
+ with_cocoa_lock(vo->cocoa, ^{
+ if ([[vo->cocoa->view window] isMiniaturized]) {
+ *(int *)arg |= VO_WIN_STATE_MINIMIZED;
+ } else {
+ *(int *)arg = 0;
+ }
+ });
+ return VO_TRUE;
+ }
case VOCTRL_SET_CURSOR_VISIBILITY:
return vo_cocoa_set_cursor_visibility(vo, arg);
case VOCTRL_UPDATE_WINDOW_TITLE:
@@ -873,4 +883,16 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg)
[self didChangeMousePosition];
}
+- (void)windowDidMiniaturize:(NSNotification *)notification
+{
+ struct vo_cocoa_state *s = self.vout->cocoa;
+ s->pending_events |= VO_EVENT_WIN_STATE;
+}
+
+- (void)windowDidDeminiaturize:(NSNotification *)notification
+{
+ struct vo_cocoa_state *s = self.vout->cocoa;
+ s->pending_events |= VO_EVENT_WIN_STATE;
+}
+
@end