- (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag { // replace contentRect with a fullscreen rect if ( [[NSScreen screens] count] > 0 ) { NSScreen* mainScreen = [[NSScreen screens] objectAtIndex:0]; contentRect = [NSWindow frameRectForContentRect:[mainScreen frame] styleMask:NSBorderlessWindowMask]; } // create an overlay window that hovers above all windows and doesn't respond to Exposé if ( nil == ( self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:bufferingType defer:NO] ) ) { // [super initWithContentRect:] failed return nil; } // sticky transparent floating window [self setLevel:NSScreenSaverWindowLevel]; // over *everything* [self setSticky:YES]; [self setOpaque:NO]; [self setAlphaValue:1.0]; [self setContentView:mainView]; // shouldn't this resize the view to fill the window? return self; } - (void)mouseDown:(NSEvent*)theEvent { // these don't seem to work when called from initWithContentRect [self setHasShadow:NO]; [self setContentView:mainView]; }