plumb.app: accept plumb:foo as alias for foo

R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/5495046
diff --git a/src/cmd/devdraw/macargv.m b/src/cmd/devdraw/macargv.m
index cf3e228..ec5bf49 100644
--- a/src/cmd/devdraw/macargv.m
+++ b/src/cmd/devdraw/macargv.m
@@ -1,8 +1,10 @@
 #import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
 
 #include <u.h>
 #include <libc.h>
 
+AUTOFRAMEWORK(Foundation)
 AUTOFRAMEWORK(Cocoa)
 
 @interface appdelegate : NSObject @end
@@ -14,7 +16,13 @@
 		[NSAutoreleasePool new];
 
 	[NSApplication sharedApplication];
-	[NSApp setDelegate:[appdelegate new]];
+	NSObject *delegate = [appdelegate new];
+	[NSApp setDelegate:delegate];
+
+	NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];    /* Register a call-back for URL Events */
+	[appleEventManager setEventHandler:delegate andSelector:@selector(handleGetURLEvent:withReplyEvent:)
+		forEventClass:kInternetEventClass andEventID:kAEGetURL];
+
 	[NSApp run];
 }
 
@@ -31,4 +39,11 @@
 	}
 	[NSApp terminate:self];
 }
+
+- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
+{
+	NSString* url = [[event descriptorForKeyword:keyDirectObject] stringValue];
+	print("%s\n", [url UTF8String] + (sizeof("plumb:") - 1));
+	[NSApp terminate:self];
+}
 @end