Add (very crude) netscape open url.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3350 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 1998-11-28 18:05:01 +00:00
parent 5820a5250f
commit 583ba54365
2 changed files with 52 additions and 0 deletions

View file

@ -36,12 +36,16 @@
#include <Foundation/NSRunLoop.h>
#include <Foundation/NSString.h>
#include <Foundation/NSException.h>
#include <Foundation/NSTask.h>
#include <AppKit/NSApplication.h>
#include <AppKit/NSPasteboard.h>
#include <signal.h>
@interface ExampleServices : NSObject
- (void) openURL: (NSPasteboard*)bp
userData: (NSString*)ud
error: (NSString**)err;
- (void) tolower: (NSPasteboard*)bp
userData: (NSString*)ud
error: (NSString**)err;
@ -51,6 +55,39 @@
@end
@implementation ExampleServices
- (void) openURL: (NSPasteboard*)pb
userData: (NSString*)ud
error: (NSString**)err
{
NSString *url;
NSArray *types;
NSArray *args;
NSString *path;
NSTask *task;
types = [pb types];
if (![types containsObject: NSStringPboardType])
{
*err = @"No string type supplied on pasteboard";
return;
}
url = [pb stringForType: NSStringPboardType];
if (url == nil)
{
*err = @"No string value supplied on pasteboard";
return;
}
path = @"/bin/sh";
args = [NSArray arrayWithObjects:
@"-c",
[NSString stringWithFormat: @"netscape -remote \"openURL(%@)\"",
url],
nil];
task = [NSTask launchedTaskWithLaunchPath: path
arguments: args];
}
- (void) tolower: (NSPasteboard*)pb
userData: (NSString*)ud
error: (NSString**)err

View file

@ -1,4 +1,19 @@
NSServices = (
{
NSPortName = ExampleServices;
NSMessage = openURL;
NSSendTypes = (
NSStringPboardType
);
NSMenuItem = {
default = "Open URL";
English = "Open URL";
};
NSKeyEquivalent = {
default = O;
English = O;
};
},
{
NSPortName = ExampleServices;
NSMessage = tolower;