+- (void)syncWithPrefs {
+ NSScreen *screen = [GrowlITTSWPrefs screen];
+ ITHorizontalWindowPosition horizontalPosition = [GrowlITTSWPrefs horizontalPosition];
+ ITVerticalWindowPosition verticalPosition = [GrowlITTSWPrefs verticalPosition];
+
+ Class appearanceEffect = [GrowlITTSWPrefs appearanceEffect];
+ float appearanceSpeed = [GrowlITTSWPrefs appearanceSpeed];
+ Class vanishEffect = [GrowlITTSWPrefs vanishEffect];
+ float vanishSpeed = [GrowlITTSWPrefs vanishSpeed];
+ float vanishDelay = [GrowlITTSWPrefs vanishDelay];
+
+ ITTSWBackgroundMode backgroundStyle = [GrowlITTSWPrefs backgroundStyle];
+ NSColor *backgroundColor = [GrowlITTSWPrefs backgroundColor];
+ ITTransientStatusWindowSizing windowSize = [GrowlITTSWPrefs windowSize];
+
+ if ([_window screen] != screen) {
+ [_window setScreen:screen];
+ }
+ if ([_window horizontalPosition] != horizontalPosition) {
+ [_window setHorizontalPosition:horizontalPosition];
+ }
+ if ([_window verticalPosition] != verticalPosition) {
+ [_window setVerticalPosition:verticalPosition];
+ }
+
+ if (![[_window entryEffect] isKindOfClass:appearanceEffect]) {
+ [_window setEntryEffect:[[[appearanceEffect alloc] initWithWindow:_window] autorelease]];
+ }
+ if ([[_window entryEffect] effectTime] != appearanceSpeed) {
+ [[_window entryEffect] setEffectTime:appearanceSpeed];
+ }
+ if (![[_window exitEffect] isKindOfClass:vanishEffect]) {
+ [_window setExitEffect:[[[vanishEffect alloc] initWithWindow:_window] autorelease]];
+ }
+ if ([[_window exitEffect] effectTime] != vanishSpeed) {
+ [[_window exitEffect] setEffectTime:vanishSpeed];
+ }
+ if ([_window exitDelay] != vanishDelay) {
+ [_window setExitDelay:vanishDelay];
+ }
+
+ if ([(ITTSWBackgroundView *)[_window contentView] backgroundMode] != backgroundStyle) {
+ [(ITTSWBackgroundView *)[_window contentView] setBackgroundMode:backgroundStyle];
+ }
+ if (([(ITTSWBackgroundView *)[_window contentView] backgroundMode] == ITTSWBackgroundColored) && ![[(ITTSWBackgroundView *)[_window contentView] backgroundColor] isEqual:backgroundColor]) {
+ [(ITTSWBackgroundView *)[_window contentView] setBackgroundColor:backgroundColor];
+ }
+ if ([_window sizing] != windowSize) {
+ [_window setSizing:windowSize];
+ }
+}
+
+- (void)showWindowWithText:(NSString *)text image:(NSImage *)image {