This is SleepView.m in view mode; [Download] [Up]
// SleepView.m // // You may freely copy, distribute, and reuse the code in this example. // NeXT disclaims any warranty of any kind, expressed or implied, as to its // fitness for any particular use. // This view goes in a little 4 pixel window and cause BackSpace to sleep // whenever the cursor goes to a preselected corner. #import "Thinker.h" #import "SleepView.h" #import <libc.h> #import <appkit/timer.h> @implementation SleepView - mouseEntered:(NXEvent *)theEvent { int looping = YES; int doSaver = NO; NXTrackingTimer myTimer; NXBeginTimer(&myTimer, 3.0, 5.0); while (looping) { theEvent = [NXApp getNextEvent: NX_TIMERMASK|NX_MOUSEEXITEDMASK]; switch (theEvent->type) { case NX_TIMER: doSaver = YES; // now fall into MOUSEEXITED code case NX_MOUSEEXITED: looping = NO; break; } } NXEndTimer(&myTimer); if (doSaver) [BSThinker() showFakeScreenSaver:self]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.