home *** CD-ROM | disk | FTP | other *** search
- /* VMApp.m created by chaos on Tue 14-Jan-1997 */
-
- #import "VMApp.h"
-
- id bgImage, nxImage;
-
- @implementation VMApp:NSApplication
-
- const char *swapName = {"/private/vm/swapfile"};
-
- - init
- {
- if ((self = [super init])) {
- [self setDelegate:self]; // so that we get NSApp delegation methods
- }
- return self;
- }
-
- -(void) applicationDidFinishLaunching: (NSNotification *)aNotification
- {
- id aBundle = [NSBundle mainBundle];
-
-
-
- if (!bgImage) bgImage = [[NSImage alloc] initWithContentsOfFile: [aBundle pathForResource:@"tile" ofType:@"tiff"]];
- if (!nxImage) nxImage = [[NSImage alloc] initWithContentsOfFile:[aBundle pathForResource:@"NeXT" ofType:@"tiff"]];
-
- period = (NSTimeInterval)1;
-
- timer = [NSTimer scheduledTimerWithTimeInterval: period
- target:self selector:@selector(calcNow) userInfo:nil repeats:YES];
-
- [NSApp hide: self];
- }
-
-
- -(void) calcNow
- {
- NSPoint aPoint= {0, 0};
- vm_statistics_data_t vm_stats;
- float all, angle;
-
- id myImage = [bgImage copy];
- id myColor = [NSColor colorWithDeviceRed: 0.0 green:0.0 blue:0.0 alpha:0.3];
- id cheeseColor = [NSColor colorWithDeviceRed: 0.8 green:0.1 blue:0.1 alpha:1];
-
-
- if (vm_statistics(task_self(), &vm_stats) != KERN_SUCCESS) {
- //UGH!!
- }
-
- all = (float)(vm_stats.free_count
- + vm_stats.active_count
- + vm_stats.inactive_count
- + vm_stats.wire_count);
- angle = ((vm_stats.free_count * 360.0)/all);
-
- [myImage lockFocus];
-
- // [nxImage dissolveToPoint: aPoint fraction: 0.8];
-
- [myColor set];
- PSFilledCheese(8+3, 8-3, 48, 48, angle);
-
- [cheeseColor set];
- // PSLineWidth(2.5);
- PSFilledCheese(8, 8, 48, 48, angle);
-
-
- [myImage unlockFocus];
-
- [NSApp setApplicationIconImage: myImage];
- }
-
- -(void) stopApp: sender
- {
- [timer invalidate];
- [timer release];
-
- [self setDelegate: nil];
- [self terminate: self];
- }
-
- @end
-