This is Preserve.m in view mode; [Download] [Up]
/* 5/4/93 Chris Lloyd - lloyd@world.std.com */ #import "Preserve.h" #import <appkit/Application.h> #import <dpsclient/wraps.h> /* For 2.0, uncomment this, and comment the next one */ //#import <nextdev/evsio.h> #import <dev/m68k/evsio.h> #import <libc.h> @implementation Preserve static void handler(DPSTimedEntry h,double n,void *udata) { Preserve *self=udata; int dimmed=0; ioctl(self->evs,EVSIOCADS,&dimmed); if(dimmed) [NXApp unhide:self]; } -(BOOL)constrainFrameRect:(NXRect *)theFrame toScreen:(const NXScreen *)screen { return NO; } -initContent:(const NXRect *)contentRect style:(int)aStyle backing:(int)bufferingType buttonMask:(int)mask defer:(BOOL)flag { const NXScreen *screen; [super initContent:contentRect style:aStyle backing:bufferingType buttonMask:mask defer:flag]; screen=[self screen]; [self setBackgroundGray:NX_BLACK]; [self moveTo:0:0]; [self sizeWindow:screen->screenBounds.size.width: screen->screenBounds.size.height-2]; [self addToEventMask:NX_MOUSEMOVEDMASK]; DPSAddTimedEntry(60,handler,self,NX_MODALRESPTHRESHOLD+1); if((evs=open("/dev/evs0",O_RDONLY,0))<0) printf("blegh\n"); PSobscurecursor(); PSsetgray(0.0); PSsetexposurecolor(); return self; } -orderWindow:(int)place relativeTo:(int)otherWin { [super orderWindow:place relativeTo:otherWin]; if(place==NX_ABOVE) { PSsetwindowlevel(NX_MAINMENULEVEL*10,windowNum); PSobscurecursor(); } return self; } -mouseMoved:(NXEvent *)theEvent { PSobscurecursor(); return self; } -mouseDown:(NXEvent *)theEvent { [NXApp hide:self]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.