From 723eb7aac5f126c8049f39e4cb95d9ee3d3e49e1 Mon Sep 17 00:00:00 2001 From: Jordan Orelli Date: Sun, 4 Dec 2016 17:35:06 -0800 Subject: [PATCH] spelling, more explanation --- README.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3be8099..22e7299 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,22 @@ # procmon procmon is a small Go program for OSX that watches App launch and terminate -events in AppKit. The Go program directly links against the +events in AppKit. This project demonstrates the following useful techniques: + +- how to call C code from Go with cgo +- how to link Apple frameworks into a cgo project +- how to call Go code from C +- how to integrate the callback-based concurrency model of AppKit into Go's CSP-style concurrency model + +The Go program directly links against the [AppKit](https://developer.apple.com/reference/appkit) framework and uses it to subscribe to the [NSNotificationCenter](https://developer.apple.com/reference/foundation/nsnotificationcenter) notifications generated by the OS when the user launches or terminates an App. -The observer itself is writing in Objective-C. The Objective-C observer is -accessed through a simple C function that may be accessed by a Go program. The -Objective-C observer, upon seeing notifications, invokes a Go function -directly, passing control back to our Go program. +The observer itself is written in Objective-C. The Objective-C observer is +accessed by the Go program through a simple C function. The Objective-C +observer, upon seeing notifications, invokes a Go function directly, passing +control back to our Go program. ## installation