summaryrefslogtreecommitdiffstats
path: root/video/out
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2014-12-05 22:58:02 +0100
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2014-12-05 23:13:21 +0100
commited76d22b22084ad1bb3ba033ca7cca6f6b50a5a5 (patch)
treec11aafe5a4a752f3e26e202877fa84c9ef1577f2 /video/out
parent4ced724ffd081456906747207e9c48583b0c40b7 (diff)
downloadmpv-ed76d22b22084ad1bb3ba033ca7cca6f6b50a5a5.tar.bz2
mpv-ed76d22b22084ad1bb3ba033ca7cca6f6b50a5a5.tar.xz
cocoa: don't create Dock icon for audio only files
fixes #635
Diffstat (limited to 'video/out')
-rw-r--r--video/out/cocoa_common.m21
1 files changed, 21 insertions, 0 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m
index 76114a12eb..466f807cbf 100644
--- a/video/out/cocoa_common.m
+++ b/video/out/cocoa_common.m
@@ -144,6 +144,22 @@ static void disable_power_management(struct vo *vo)
&s->power_mgmt_assertion);
}
+static const char macosx_icon[] =
+#include "osdep/macosx_icon.inc"
+;
+
+static void set_application_icon(NSApplication *app)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ NSData *icon_data = [NSData dataWithBytesNoCopy:(void *)macosx_icon
+ length:sizeof(macosx_icon)
+ freeWhenDone:NO];
+ NSImage *icon = [[NSImage alloc] initWithData:icon_data];
+ [app setApplicationIconImage:icon];
+ [icon release];
+ [pool release];
+}
+
int vo_cocoa_init(struct vo *vo)
{
struct vo_cocoa_state *s = talloc_zero(vo, struct vo_cocoa_state);
@@ -196,6 +212,8 @@ void vo_cocoa_uninit(struct vo *vo)
[s->view removeFromSuperview];
[s->view release];
if (s->window) [s->window release];
+
+ [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory];
});
}
@@ -453,6 +471,9 @@ int vo_cocoa_config_window(struct vo *vo, uint32_t flags, void *gl_ctx)
// reconfiguration code.
s->pending_events |= VO_EVENT_RESIZE;
});
+
+ [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
+ set_application_icon(NSApp);
return 0;
}