Index: /trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/classes.nib
===================================================================
--- /trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/classes.nib	(revision 515)
+++ /trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/classes.nib	(revision 516)
@@ -19,4 +19,12 @@
 		</dict>
 		<dict>
+			<key>CLASS</key>
+			<string>NSDisclosureButtonCell</string>
+			<key>LANGUAGE</key>
+			<string>ObjC</string>
+			<key>SUPERCLASS</key>
+			<string>NSButtonCell</string>
+		</dict>
+		<dict>
 			<key>ACTIONS</key>
 			<dict>
@@ -59,5 +67,5 @@
 				<string>NSTextField</string>
 				<key>bounceDockIcon</key>
-				<string>NSButton</string>
+				<string>NSButtonCell</string>
 				<key>cancelButton</key>
 				<string>NSButton</string>
@@ -119,12 +127,4 @@
 		</dict>
 		<dict>
-			<key>CLASS</key>
-			<string>NSDisclosureButtonCell</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSButtonCell</string>
-		</dict>
-		<dict>
 			<key>ACTIONS</key>
 			<dict>
@@ -182,4 +182,18 @@
 		<dict>
 			<key>CLASS</key>
+			<string>NJRUnfocusableMovieView</string>
+			<key>LANGUAGE</key>
+			<string>ObjC</string>
+			<key>SUPERCLASS</key>
+			<string>NSMovieView</string>
+		</dict>
+		<dict>
+			<key>CLASS</key>
+			<string>NSObject</string>
+			<key>LANGUAGE</key>
+			<string>ObjC</string>
+		</dict>
+		<dict>
+			<key>CLASS</key>
 			<string>FirstResponder</string>
 			<key>LANGUAGE</key>
@@ -187,18 +201,4 @@
 			<key>SUPERCLASS</key>
 			<string>NSObject</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NJRUnfocusableMovieView</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
-			<key>SUPERCLASS</key>
-			<string>NSMovieView</string>
-		</dict>
-		<dict>
-			<key>CLASS</key>
-			<string>NSObject</string>
-			<key>LANGUAGE</key>
-			<string>ObjC</string>
 		</dict>
 		<dict>
@@ -235,4 +235,12 @@
 			<key>SUPERCLASS</key>
 			<string>NSObject</string>
+		</dict>
+		<dict>
+			<key>CLASS</key>
+			<string>NSWindow</string>
+			<key>LANGUAGE</key>
+			<string>ObjC</string>
+			<key>SUPERCLASS</key>
+			<string>NSResponder</string>
 		</dict>
 		<dict>
Index: /trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/info.nib
===================================================================
--- /trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/info.nib	(revision 515)
+++ /trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/info.nib	(revision 516)
@@ -8,8 +8,8 @@
 	<string>../Pester.xcodeproj</string>
 	<key>IBOldestOS</key>
-	<integer>5</integer>
+	<integer>4</integer>
 	<key>IBOpenObjects</key>
 	<array>
-		<integer>2</integer>
+		<integer>525</integer>
 	</array>
 	<key>IBSystem Version</key>
Index: /trunk/Cocoa/Pester/Source/PSDockBounceAlert.m
===================================================================
--- /trunk/Cocoa/Pester/Source/PSDockBounceAlert.m	(revision 515)
+++ /trunk/Cocoa/Pester/Source/PSDockBounceAlert.m	(revision 516)
@@ -9,6 +9,10 @@
 #import <AppKit/AppKit.h>
 #import "PSDockBounceAlert.h"
+#import "PSAlarmAlertController.h"
+
+#include <Carbon/Carbon.h>
 
 static PSDockBounceAlert *PSDockBounceAlertShared;
+static NMRec nmr;
 
 @implementation PSDockBounceAlert
@@ -16,18 +20,33 @@
 + (PSAlert *)alert;
 {
-    if (PSDockBounceAlertShared == nil)
+    if (PSDockBounceAlertShared == nil) {
         PSDockBounceAlertShared = [[PSDockBounceAlert alloc] init];
+	
+	[[NSNotificationCenter defaultCenter] addObserver: PSDockBounceAlertShared selector: @selector(_stopBouncing) name: PSAlarmAlertStopNotification object: nil];
+	
+	bzero(&nmr, sizeof(nmr));
+	nmr.nmMark = 1;
+	nmr.qType = nmType;
+    }
+    
     return PSDockBounceAlertShared;
 }
 
-+ (void)stopBouncing;
+- (void)_stopBouncing;
 {
-    [NSApp cancelUserAttentionRequest: NSInformationalRequest];
+    if ((void *)nmr.nmRefCon != self)
+	return;
+    
+    nmr.nmRefCon = 0;
+    NMRemove(&nmr);
 }
 
 - (void)triggerForAlarm:(PSAlarm *)alarm;
 {
-    [NSApp requestUserAttention: NSInformationalRequest];
-    [[self class] performSelector: @selector(stopBouncing) withObject: nil afterDelay: 1 inModes: [NSArray arrayWithObject: NSDefaultRunLoopMode]];
+    if (nmr.nmRefCon == 0) {
+	nmr.nmRefCon = (long)self;
+	NMInstall(&nmr);
+    }
+
     [self completedForAlarm: alarm];
 }
@@ -35,5 +54,5 @@
 - (NSAttributedString *)actionDescription;
 {
-    return [@"Bounce dock icon" small];
+    return [@"Bounce Dock icon" small];
 }
 
