diff options
Diffstat (limited to 'video/out/cocoa_common.m')
-rw-r--r-- | video/out/cocoa_common.m | 21 |
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; } |