diff options
| author | Pietro Gagliardi <[email protected]> | 2014-03-01 20:31:17 -0500 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-03-01 20:31:17 -0500 |
| commit | 0709351fed0b5fb5871853505e969bf0ccf17495 (patch) | |
| tree | 46190bc1228441fe77afaf1ccac6003aed87bcd4 /uitask_darwin.go | |
| parent | 10e9f6b927c5208fce290fea346a8a2ad7ac3fa3 (diff) | |
Attempted to fix the lack of resizable window borders by setting the NSApplication activation policy. This fixed it, and also fixed a bunch of other things, such as the application being seen as part of Terminal, lack of dock icon, lack of application menu, etc.
Diffstat (limited to 'uitask_darwin.go')
| -rw-r--r-- | uitask_darwin.go | 8 |
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 } |
