summaryrefslogtreecommitdiff
path: root/uitask_darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'uitask_darwin.go')
-rw-r--r--uitask_darwin.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/uitask_darwin.go b/uitask_darwin.go
index c77bb2f..c61ede0 100644
--- a/uitask_darwin.go
+++ b/uitask_darwin.go
@@ -2,6 +2,7 @@
package ui
import (
+ "fmt"
"runtime"
"unsafe"
)
@@ -66,10 +67,17 @@ var (
_NSApplication = objc_getClass("NSApplication")
_sharedApplication = sel_getUid("sharedApplication")
+ _setActivationPolicy = sel_getUid("setActivationPolicy:")
)
func initCocoa() (NSApp C.id, err error) {
NSApp = C.objc_msgSend_noargs(_NSApplication, _sharedApplication)
+ r := C.objc_msgSend_int(NSApp, _setActivationPolicy,
+ 0) // NSApplicationActivationPolicyRegular
+ if C.BOOL(uintptr(unsafe.Pointer(r))) != C.BOOL(C.YES) {
+ err = fmt.Errorf("error setting NSApplication activation policy (basically identifies our program as a separate program; needed for several things, such as Dock icon, menu, window resizing, etc.) (unknown reason)")
+ return
+ }
err = mkAppDelegate()
return
}