From: Kent Sutherland Date: Wed, 30 Mar 2011 06:50:53 +0000 (-0400) Subject: Reset the screen that the status window is on when the system's screens change. X-Git-Url: http://git.ithinksw.org/MenuTunes.git/commitdiff_plain/a2891d12899c1160b9fcd9b9b195d7d8ee354cb7 Reset the screen that the status window is on when the system's screens change. --- diff --git a/StatusWindowController.m b/StatusWindowController.m index 2e4593e..aa684a3 100755 --- a/StatusWindowController.m +++ b/StatusWindowController.m @@ -98,6 +98,8 @@ static StatusWindowController *sharedController; } else { [(ITTSWBackgroundView *)[_window contentView] setBackgroundColor:[NSColor blueColor]]; } + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(screenParametersChanged:) name:NSApplicationDidChangeScreenParametersNotification object:nil]; } return self; @@ -105,10 +107,23 @@ static StatusWindowController *sharedController; - (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [_window release]; [super dealloc]; } +- (void)screenParametersChanged:(NSNotification *)notification +{ + NSArray *screens = [NSScreen screens]; + int screenIndex = [df integerForKey:@"statusWindowScreenIndex"]; + + if (screenIndex >= [screens count]) { + screenIndex = 0; + } + [_window setScreen:[screens objectAtIndex:screenIndex]]; +} + - (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source title: (NSString *)title album: (NSString *)album