This is unhide.m in view mode; [Download] [Up]
/* unhide.m -- tell an application to unhide itself */
/* This application was written by eps@futon.SFSU.EDU (Eric P. Scott)
* and posted to the net.
*
* This is a good example of why TickleServices needs loadable Tcl
* built-ins.
*/
/* cc -o unhide -s -O unhide.m -lNeXT_s */
/* cc -arch m68k -arch i386 -o unhide -s -O unhide.m -lNeXT_s */
/* cc -arch m68k -arch i386 -arch hppa -o unhide -s -O unhide.m -lNeXT_s */
#ifdef NX_COMPILER_RELEASE_3_0
#include <bsd/libc.h>
#include <mach/mach.h>
#else
#include <libc.h>
#include <mach.h>
#endif
#import <appkit/Listener.h>
#import <appkit/Speaker.h>
main(int argc, char *argv[])
{
register int i;
char *a;
port_t p;
int e;
id spkr;
if (argc<2) {
(void)fprintf(stderr, "Usage: %s application [...]\n", *argv);
exit(1);
}
e=0;
spkr=nil;
for (i=1;i<argc;i++) {
a=argv[i];
if (!strcmp(a, "Workspace")) {
register char *w;
if (w=getenv("Workspace")) a=w;
}
if (p=NXPortNameLookup(a, (char *)NULL)) {
if (!spkr) spkr=[[Speaker alloc] init];
[spkr setSendPort:p];
if ([spkr performRemoteMethod:"unhide"]) e++;
(void)port_deallocate(task_self(), p);
}
else {
(void)fprintf(stderr, "%s: \"%s\" not running\n", *argv, argv[i]);
e++;
}
}
if (spkr) [spkr free];
exit(e);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.