├── .gitignore ├── BSODSaverView.h ├── BSODSaverView.m ├── Blue Screen Saver.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── Blue Screen Saver.xccheckout │ └── xcuserdata │ │ └── simonfransson.xcuserdatad │ │ ├── UserInterfaceState.xcuserstate │ │ └── WorkspaceSettings.xcsettings ├── simon.mode1v3 ├── simon.pbxuser ├── xcshareddata │ └── xcschemes │ │ └── Blue Screen Saver.xcscheme └── xcuserdata │ └── simonfransson.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── Blue Screen Saver.xcscheme │ └── xcschememanagement.plist ├── ConfigureSheet.xib ├── FixedsysTTF.ttf ├── Info.plist ├── LucidaConsole.ttf ├── README.md ├── SC_Prefix.pch ├── XP.txt ├── blue.rtf ├── bsod1280.jpg ├── en.lproj └── InfoPlist.strings ├── thumbnail.png ├── thumbnail@2x.png └── version.plist /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## User settings 6 | xcuserdata/ 7 | 8 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) 9 | *.xcscmblueprint 10 | *.xccheckout 11 | 12 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) 13 | build/ 14 | DerivedData/ 15 | *.moved-aside 16 | *.pbxuser 17 | !default.pbxuser 18 | *.mode1v3 19 | !default.mode1v3 20 | *.mode2v3 21 | !default.mode2v3 22 | *.perspectivev3 23 | !default.perspectivev3 24 | 25 | ## Gcc Patch 26 | /*.gcno 27 | -------------------------------------------------------------------------------- /BSODSaverView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SCView.h 3 | // SC 4 | // 5 | // Created by Simon Fransson on 2010-05-03. 6 | // Copyright (c) 2010, Hobo Code. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface BSODSaverView : ScreenSaverView 13 | {} 14 | 15 | @property (strong) NSColor *backgroundColor; 16 | @property (strong) NSColor *captionBackgroundColor; 17 | @property (strong) NSFont *font; 18 | @property (strong) NSDictionary *drawingAttributes; 19 | @property (strong) NSDictionary *captionDrawingAttributes; 20 | @property (copy) NSString *captionString; 21 | @property (copy) NSString *contentString; 22 | @property (strong) ScreenSaverDefaults *defaults; 23 | @property (assign) BOOL hasUnderscoreSuffix; 24 | @property (assign) BOOL xp; 25 | @property (assign) BOOL fatal; 26 | 27 | @property (strong) IBOutlet NSWindow *configSheet; 28 | @property (strong) IBOutlet NSSlider *typeSlider; 29 | @property (strong) IBOutlet NSSlider *fatalitySlider; 30 | @property (strong) IBOutlet NSSlider *fontSizeSlider; 31 | 32 | - (IBAction)configSheetCancelAction:(id)sender; 33 | - (IBAction)configSheetOKAction:(id)sender; 34 | - (IBAction)URLTextFieldClicked:(id)sender; 35 | - (IBAction)resetDefaultSettingsClicked:(id)sender; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /BSODSaverView.m: -------------------------------------------------------------------------------- 1 | // 2 | // SCView.m 3 | // SC 4 | // 5 | // Created by Simon Fransson on 2010-05-03. 6 | // Copyright (c) 2010, Hobo Code. All rights reserved. 7 | // 8 | 9 | #import "BSODSaverView.h" 10 | 11 | #define DEFAULT_CRASH_TYPE 0.5 12 | #define DEFAULT_FATALITY 0.5 13 | #define DEFAULT_FONT_SIZE 15.0 14 | 15 | @interface BSODSaverView (Private) 16 | - (void)loadFontWithName:(NSString *)fontName inBundle:(NSBundle *)bundle; 17 | @end 18 | 19 | 20 | @implementation BSODSaverView 21 | 22 | NSString *const kExternalURL = @"http://www.github.com/dessibelle/Blue-Screen-Saver"; 23 | 24 | - (id)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview 25 | { 26 | self = [super initWithFrame:frame isPreview:isPreview]; 27 | if (self) { 28 | // NSLog(@"initWithFrame isPreview: %d %d", isPreview, [self isPreview]); 29 | ScreenSaverDefaults *defaults; 30 | defaults = [ScreenSaverDefaults defaultsForModuleWithName:@"BlueScreenSaver"]; 31 | 32 | // Register our default values 33 | [defaults registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys: 34 | [NSNumber numberWithFloat: DEFAULT_CRASH_TYPE], @"CrashType", 35 | [NSNumber numberWithFloat: DEFAULT_FATALITY], @"Fatality", 36 | [NSNumber numberWithFloat: DEFAULT_FONT_SIZE], @"FontSize", 37 | nil]]; 38 | 39 | 40 | self.backgroundColor = [NSColor colorWithCalibratedRed:(1.0/255.0) green:(2.0/255.0) blue:(172.0/255.0) alpha:1.0]; 41 | self.captionBackgroundColor = [NSColor colorWithCalibratedRed:(169.0/255.0) green:(170.0/255.0) blue:(174.0/255.0) alpha:1.0]; 42 | self.hasUnderscoreSuffix = NO; 43 | 44 | [self setAnimationTimeInterval:1/1.5]; 45 | 46 | /* FixedsysTTF / LucidaConsole: File names must match post script names */ 47 | NSString *bundleIdentifier = [[[NSBundle bundleForClass:[self class]] infoDictionary] objectForKey:@"CFBundleIdentifier"]; 48 | self.defaults = [ScreenSaverDefaults defaultsForModuleWithName:bundleIdentifier]; 49 | 50 | NSBundle *screenSaverBundle = [NSBundle bundleWithIdentifier:bundleIdentifier]; 51 | [self loadFontWithName:@"FixedsysTTF" inBundle:screenSaverBundle]; 52 | [self loadFontWithName:@"LucidaConsole" inBundle:screenSaverBundle]; 53 | 54 | srand48(arc4random()); 55 | 56 | double fatal_rand = drand48() -0.5 + [defaults doubleForKey:@"Fatality"]; 57 | double xp_rand = drand48() -0.5 + [defaults doubleForKey:@"CrashType"]; 58 | 59 | CGFloat fontSize = [defaults floatForKey:@"FontSize"]; // !isPreview ? [defaults floatForKey:@"FontSize"] : 6.0; 60 | self.fatal = fatal_rand >= 0.5; 61 | self.xp = xp_rand >= 0.5; 62 | 63 | if (self.xp) { 64 | self.font = [NSFont fontWithName:@"LucidaConsole" size:fontSize]; 65 | } else { 66 | self.font = [NSFont fontWithName:@"FixedsysTTF" size:fontSize]; 67 | } 68 | 69 | /* 9.X : VMM / DiskTSD / voltrack */ 70 | 71 | if (self.xp) { 72 | 73 | NSInteger addr1 = rand(), 74 | addr2 = rand(), 75 | addr3 = rand(), 76 | addr4 = rand(), 77 | addr5 = rand(), 78 | addr6 = rand(), 79 | addr7 = rand(), 80 | addr8 = rand(); 81 | 82 | self.contentString = [NSString stringWithFormat:@"A problem has been detected and Windows has been shut down to prevent damage\nto your computer.\n\nThe problem seems to be caused by the following file: SPCMDCON.SYS\n\nPAGE_FAULT_IN_NONPAGED_AREA\n\nIf this is the first time you've seen this stop error screen,\nrestart your computer. If this screen appears again, follow\nthese steps:\n\nCheck to make sure any new hardware or software is properly installed.\nIf this is a new installation, ask your hardware or software manufacturer\nfor any Windows updates you might need.\n\nIf problems continue, disable or remove any newly installed hardware\nor software. Disable BIOS memory options such as caching or shadowing.\nIf you need to use Safe Mode to remove or disable components, restart\nyour computer, press F8 to select Advanced Startup Options, and then\nselect Safe Mode.\n\nTechnical information:\n\n*** STOP: 0x%08lX (0x%08lX, 0x%08lX, 0x%08lX, 0x%08lX)\n\n\n*** SPCMDCON.SES - Address %08lX base at %08lX, DateStamp %08lx ", addr1, addr2, addr3, addr4, addr5, addr6, addr7, addr8]; 83 | 84 | } else if (self.fatal) { 85 | 86 | NSInteger addr1 = rand() % (0xFFFF - 0x1000) + 0x1000, 87 | addr2 = rand(), 88 | addr3 = rand(), 89 | exception = rand() % (0x0F - 0x01) + 0x01; 90 | 91 | self.contentString = [NSString stringWithFormat:@"A fatal exception %02lX has occured at %04lX:%08lX in VxD VMM(01) + \n%08lX. The current application will be terminated.\n\n* Press any key to terminate the current application.\n* Press CTRL+ALT+RESET to restart your computer. You will\n lose any unsaved information in all applications.\n\n\n Press any key to continue ", exception, addr1, addr2, addr3]; 92 | 93 | } else { 94 | 95 | NSInteger addr1 = rand() % (0xFFFF - 0x1000) + 0x1000, 96 | addr2 = rand(), 97 | addr3 = rand(), 98 | addr4 = rand() % (0xFFFF - 0x1000) + 0x1000, 99 | addr5 = rand(), 100 | addr6 = rand(), 101 | exception = rand() % (0x0F - 0x01) + 0x01; 102 | 103 | self.contentString = [NSString stringWithFormat:@"An exception %02lX has occured at %04lX:%08lX in VxD VMM(01) + \n%08lX. This was called from %04lX:%08lX in VxD VMM(01) + \n%08lX. It may be possible to continue normally.\n\n* Press any key to terminate the current application.\n* Press CTRL+ALT+RESET to restart your computer. You will\n lose any unsaved information in all applications.\n\n\n Press any key to continue ", exception, addr1, addr2, addr3, addr4, addr5, addr6]; 104 | } 105 | 106 | self.captionString = @" Windows "; 107 | 108 | self.drawingAttributes = [NSDictionary dictionaryWithObjectsAndKeys:self.font, NSFontAttributeName, 109 | [NSColor whiteColor], NSForegroundColorAttributeName, 110 | nil]; 111 | 112 | self.captionDrawingAttributes = [NSDictionary dictionaryWithObjectsAndKeys:self.font, NSFontAttributeName, 113 | self.backgroundColor, NSForegroundColorAttributeName, 114 | self.captionBackgroundColor, NSBackgroundColorAttributeName, 115 | nil]; 116 | } 117 | 118 | return self; 119 | } 120 | 121 | - (void)animateOneFrame 122 | { 123 | self.hasUnderscoreSuffix = !self.hasUnderscoreSuffix; 124 | 125 | [self setNeedsDisplay:YES]; 126 | } 127 | 128 | - (void)drawRect:(NSRect)rect 129 | { 130 | /* 131 | if (![self isPreview]) 132 | [[NSGraphicsContext currentContext] setShouldAntialias:NO]; 133 | */ 134 | [[NSGraphicsContext currentContext] setShouldAntialias:NO]; 135 | 136 | [self.backgroundColor set]; 137 | [self.font set]; 138 | 139 | /* 140 | * ▋ █ ▊ 141 | */ 142 | 143 | NSString *message = [self.contentString stringByAppendingString:(self.hasUnderscoreSuffix ? @"_" : @"▋")]; 144 | 145 | NSRectFill(rect); 146 | 147 | NSSize captionSize = [self.captionString sizeWithAttributes:self.captionDrawingAttributes]; 148 | NSSize contentSize = [message sizeWithAttributes:self.drawingAttributes]; 149 | 150 | NSRect captionRect = NSMakeRect((rect.size.width - captionSize.width) / 2.0, 151 | ((rect.size.height + contentSize.height) / 2.0) + (self.xp ? 0 : captionSize.height), 152 | captionSize.width, 153 | captionSize.height); 154 | 155 | NSRect contentRect = NSMakeRect((rect.size.width - contentSize.width) / 2.0, 156 | ((rect.size.height - contentSize.height) / 2.0) - (self.xp ? 0 : captionSize.height), 157 | contentSize.width, 158 | contentSize.height); 159 | 160 | if (!self.xp) 161 | [self.captionString drawInRect:captionRect withAttributes:self.captionDrawingAttributes]; 162 | 163 | [message drawInRect:contentRect withAttributes:self.drawingAttributes]; 164 | } 165 | 166 | + (BOOL)performGammaFade 167 | { 168 | return NO; 169 | } 170 | 171 | - (BOOL)hasConfigureSheet 172 | { 173 | return YES; 174 | } 175 | 176 | - (NSWindow *)configureSheet 177 | { 178 | ScreenSaverDefaults *defaults = [ScreenSaverDefaults defaultsForModuleWithName:@"BlueScreenSaver"]; 179 | 180 | if (!self.configSheet) 181 | { 182 | NSArray *topLevelObjects; 183 | 184 | if (![[NSBundle bundleForClass:[self class]] loadNibNamed:@"ConfigureSheet" owner:self topLevelObjects:&topLevelObjects]) 185 | { 186 | NSLog( @"Failed to load configure sheet." ); 187 | NSBeep(); 188 | } 189 | } 190 | 191 | 192 | [self.fatalitySlider setFloatValue:[defaults floatForKey:@"Fatality"]]; 193 | [self.typeSlider setFloatValue:[defaults floatForKey:@"CrashType"]]; 194 | [self.fontSizeSlider setFloatValue:[defaults floatForKey:@"FontSize"]]; 195 | 196 | return self.configSheet; 197 | 198 | } 199 | 200 | # pragma mark Private 201 | 202 | - (void)loadFontWithName:(NSString *)fontName inBundle:(NSBundle *)bundle { 203 | NSArray *availableFonts = [[NSFontManager sharedFontManager] availableFonts]; 204 | 205 | if (![availableFonts containsObject:fontName]) { 206 | NSURL *fontURL = [bundle URLForResource:fontName withExtension:@"ttf" subdirectory:@"Fonts"]; 207 | assert(fontURL); 208 | CFErrorRef error = NULL; 209 | if (!CTFontManagerRegisterFontsForURL((__bridge CFURLRef)fontURL, kCTFontManagerScopeProcess, &error)) 210 | { 211 | CFShow(error); 212 | } 213 | } 214 | } 215 | 216 | #pragma mark IBACtions 217 | 218 | - (IBAction)configSheetCancelAction:(id)sender 219 | { 220 | if ([NSWindow respondsToSelector:@selector(endSheet:)]) 221 | { 222 | [[self.configSheet sheetParent] endSheet:self.configSheet returnCode:NSModalResponseCancel]; 223 | } else { 224 | [[NSApplication sharedApplication] endSheet:self.configSheet]; 225 | } 226 | } 227 | 228 | - (IBAction)configSheetOKAction:(id)sender 229 | { 230 | ScreenSaverDefaults *defaults; 231 | defaults = [ScreenSaverDefaults defaultsForModuleWithName:@"BlueScreenSaver"]; 232 | 233 | [defaults setFloat:self.fatalitySlider.floatValue forKey:@"Fatality"]; 234 | [defaults setFloat:self.typeSlider.floatValue forKey:@"CrashType"]; 235 | [defaults setFloat:self.fontSizeSlider.floatValue forKey:@"FontSize"]; 236 | 237 | [defaults synchronize]; 238 | 239 | [self configSheetCancelAction:sender]; 240 | } 241 | 242 | - (IBAction)URLTextFieldClicked:(id)sender 243 | { 244 | [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:kExternalURL]]; 245 | } 246 | 247 | - (IBAction)resetDefaultSettingsClicked:(id)sender; 248 | { 249 | self.fatalitySlider.floatValue = DEFAULT_CRASH_TYPE; 250 | self.typeSlider.floatValue = DEFAULT_CRASH_TYPE; 251 | self.fontSizeSlider.floatValue = DEFAULT_FONT_SIZE; 252 | } 253 | 254 | @end 255 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 6A25995A1ACC40AF00548F4D /* ConfigureSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A2599591ACC40AF00548F4D /* ConfigureSheet.xib */; }; 11 | 6AF918601ACD3C79002656AE /* thumbnail.png in Resources */ = {isa = PBXBuildFile; fileRef = 6AF9185E1ACD3C79002656AE /* thumbnail.png */; }; 12 | 6AF918611ACD3C79002656AE /* thumbnail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6AF9185F1ACD3C79002656AE /* thumbnail@2x.png */; }; 13 | 8D255AC70486D3F9007BF209 /* SC_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32DBCFA80370C50100C91783 /* SC_Prefix.pch */; }; 14 | 8D255AC80486D3F9007BF209 /* BSODSaverView.h in Headers */ = {isa = PBXBuildFile; fileRef = F50079790118B23001CA0E54 /* BSODSaverView.h */; }; 15 | 8D255ACA0486D3F9007BF209 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 16 | 8D255ACC0486D3F9007BF209 /* BSODSaverView.m in Sources */ = {isa = PBXBuildFile; fileRef = F500797A0118B23001CA0E54 /* BSODSaverView.m */; }; 17 | 8D255ACE0486D3F9007BF209 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 18 | 8D255ACF0486D3F9007BF209 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06F27B2DFFEEEFEF11CA0E56 /* ScreenSaver.framework */; }; 19 | F42E5E8F11945F8D00EDAACB /* FixedsysTTF.ttf in Copy Files (2 items) */ = {isa = PBXBuildFile; fileRef = F42E5E8E11945F8D00EDAACB /* FixedsysTTF.ttf */; }; 20 | F43449D41DE9BB8700FA7D91 /* LucidaConsole.ttf in Copy Files (2 items) */ = {isa = PBXBuildFile; fileRef = F49FF8DC11A6DB0900FFCF73 /* LucidaConsole.ttf */; }; 21 | /* End PBXBuildFile section */ 22 | 23 | /* Begin PBXCopyFilesBuildPhase section */ 24 | F42E5E991194613800EDAACB /* Copy Files (2 items) */ = { 25 | isa = PBXCopyFilesBuildPhase; 26 | buildActionMask = 12; 27 | dstPath = Fonts; 28 | dstSubfolderSpec = 7; 29 | files = ( 30 | F43449D41DE9BB8700FA7D91 /* LucidaConsole.ttf in Copy Files (2 items) */, 31 | F42E5E8F11945F8D00EDAACB /* FixedsysTTF.ttf in Copy Files (2 items) */, 32 | ); 33 | name = "Copy Files (2 items)"; 34 | runOnlyForDeploymentPostprocessing = 0; 35 | }; 36 | /* End PBXCopyFilesBuildPhase section */ 37 | 38 | /* Begin PBXFileReference section */ 39 | 06F27B2DFFEEEFEF11CA0E56 /* ScreenSaver.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScreenSaver.framework; path = /System/Library/Frameworks/ScreenSaver.framework; sourceTree = ""; }; 40 | 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 41 | 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 42 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 43 | 32DBCFA80370C50100C91783 /* SC_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SC_Prefix.pch; sourceTree = ""; }; 44 | 6A2599591ACC40AF00548F4D /* ConfigureSheet.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfigureSheet.xib; sourceTree = ""; }; 45 | 6AF9185E1ACD3C79002656AE /* thumbnail.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = thumbnail.png; sourceTree = ""; }; 46 | 6AF9185F1ACD3C79002656AE /* thumbnail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "thumbnail@2x.png"; sourceTree = ""; }; 47 | 8D255AD20486D3F9007BF209 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 48 | 8D255AD30486D3F9007BF209 /* Blue Screen Saver.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Blue Screen Saver.saver"; sourceTree = BUILT_PRODUCTS_DIR; }; 49 | F42E5E8E11945F8D00EDAACB /* FixedsysTTF.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FixedsysTTF.ttf; sourceTree = ""; }; 50 | F49FF8DC11A6DB0900FFCF73 /* LucidaConsole.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = LucidaConsole.ttf; sourceTree = ""; }; 51 | F4EB2E852356FA80004AF5F6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 52 | F50079790118B23001CA0E54 /* BSODSaverView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSODSaverView.h; sourceTree = ""; }; 53 | F500797A0118B23001CA0E54 /* BSODSaverView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSODSaverView.m; sourceTree = ""; }; 54 | /* End PBXFileReference section */ 55 | 56 | /* Begin PBXFrameworksBuildPhase section */ 57 | 8D255ACD0486D3F9007BF209 /* Frameworks */ = { 58 | isa = PBXFrameworksBuildPhase; 59 | buildActionMask = 2147483647; 60 | files = ( 61 | 8D255ACE0486D3F9007BF209 /* Cocoa.framework in Frameworks */, 62 | 8D255ACF0486D3F9007BF209 /* ScreenSaver.framework in Frameworks */, 63 | ); 64 | runOnlyForDeploymentPostprocessing = 0; 65 | }; 66 | /* End PBXFrameworksBuildPhase section */ 67 | 68 | /* Begin PBXGroup section */ 69 | 089C166AFE841209C02AAC07 /* SC */ = { 70 | isa = PBXGroup; 71 | children = ( 72 | 08FB77AFFE84173DC02AAC07 /* Classes */, 73 | 32DBCFA70370C4F300C91783 /* Other Sources */, 74 | 089C167CFE841241C02AAC07 /* Resources */, 75 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 76 | 19C28FB8FE9D52D311CA2CBB /* Products */, 77 | ); 78 | name = SC; 79 | sourceTree = ""; 80 | }; 81 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { 82 | isa = PBXGroup; 83 | children = ( 84 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 85 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, 86 | ); 87 | name = "Frameworks and Libraries"; 88 | sourceTree = ""; 89 | }; 90 | 089C167CFE841241C02AAC07 /* Resources */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 6AF9185E1ACD3C79002656AE /* thumbnail.png */, 94 | 6AF9185F1ACD3C79002656AE /* thumbnail@2x.png */, 95 | F42E5E8E11945F8D00EDAACB /* FixedsysTTF.ttf */, 96 | F49FF8DC11A6DB0900FFCF73 /* LucidaConsole.ttf */, 97 | 8D255AD20486D3F9007BF209 /* Info.plist */, 98 | 6A2599591ACC40AF00548F4D /* ConfigureSheet.xib */, 99 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */, 100 | ); 101 | name = Resources; 102 | sourceTree = ""; 103 | }; 104 | 08FB77AFFE84173DC02AAC07 /* Classes */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | F50079790118B23001CA0E54 /* BSODSaverView.h */, 108 | F500797A0118B23001CA0E54 /* BSODSaverView.m */, 109 | ); 110 | name = Classes; 111 | sourceTree = ""; 112 | }; 113 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { 114 | isa = PBXGroup; 115 | children = ( 116 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, 117 | 06F27B2DFFEEEFEF11CA0E56 /* ScreenSaver.framework */, 118 | ); 119 | name = "Linked Frameworks"; 120 | sourceTree = ""; 121 | }; 122 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { 123 | isa = PBXGroup; 124 | children = ( 125 | 089C1672FE841209C02AAC07 /* Foundation.framework */, 126 | 089C167FFE841241C02AAC07 /* AppKit.framework */, 127 | ); 128 | name = "Other Frameworks"; 129 | sourceTree = ""; 130 | }; 131 | 19C28FB8FE9D52D311CA2CBB /* Products */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | 8D255AD30486D3F9007BF209 /* Blue Screen Saver.saver */, 135 | ); 136 | name = Products; 137 | sourceTree = ""; 138 | }; 139 | 32DBCFA70370C4F300C91783 /* Other Sources */ = { 140 | isa = PBXGroup; 141 | children = ( 142 | 32DBCFA80370C50100C91783 /* SC_Prefix.pch */, 143 | ); 144 | name = "Other Sources"; 145 | sourceTree = ""; 146 | }; 147 | /* End PBXGroup section */ 148 | 149 | /* Begin PBXHeadersBuildPhase section */ 150 | 8D255AC60486D3F9007BF209 /* Headers */ = { 151 | isa = PBXHeadersBuildPhase; 152 | buildActionMask = 2147483647; 153 | files = ( 154 | 8D255AC70486D3F9007BF209 /* SC_Prefix.pch in Headers */, 155 | 8D255AC80486D3F9007BF209 /* BSODSaverView.h in Headers */, 156 | ); 157 | runOnlyForDeploymentPostprocessing = 0; 158 | }; 159 | /* End PBXHeadersBuildPhase section */ 160 | 161 | /* Begin PBXNativeTarget section */ 162 | 8D255AC50486D3F9007BF209 /* Blue Screen Saver */ = { 163 | isa = PBXNativeTarget; 164 | buildConfigurationList = EF7AD72D08BB986600CE4634 /* Build configuration list for PBXNativeTarget "Blue Screen Saver" */; 165 | buildPhases = ( 166 | 8D255AC60486D3F9007BF209 /* Headers */, 167 | 8D255AC90486D3F9007BF209 /* Resources */, 168 | 8D255ACB0486D3F9007BF209 /* Sources */, 169 | 8D255ACD0486D3F9007BF209 /* Frameworks */, 170 | 8D255AD00486D3F9007BF209 /* Rez */, 171 | F42E5E991194613800EDAACB /* Copy Files (2 items) */, 172 | ); 173 | buildRules = ( 174 | ); 175 | dependencies = ( 176 | ); 177 | name = "Blue Screen Saver"; 178 | productInstallPath = "$(HOME)/Library/Screen Savers"; 179 | productName = SC; 180 | productReference = 8D255AD30486D3F9007BF209 /* Blue Screen Saver.saver */; 181 | productType = "com.apple.product-type.bundle"; 182 | }; 183 | /* End PBXNativeTarget section */ 184 | 185 | /* Begin PBXProject section */ 186 | 089C1669FE841209C02AAC07 /* Project object */ = { 187 | isa = PBXProject; 188 | attributes = { 189 | LastUpgradeCheck = 1110; 190 | }; 191 | buildConfigurationList = EF7AD73108BB986600CE4634 /* Build configuration list for PBXProject "Blue Screen Saver" */; 192 | compatibilityVersion = "Xcode 3.2"; 193 | developmentRegion = en; 194 | hasScannedForEncodings = 1; 195 | knownRegions = ( 196 | en, 197 | Base, 198 | ja, 199 | de, 200 | fr, 201 | ); 202 | mainGroup = 089C166AFE841209C02AAC07 /* SC */; 203 | projectDirPath = ""; 204 | projectRoot = ""; 205 | targets = ( 206 | 8D255AC50486D3F9007BF209 /* Blue Screen Saver */, 207 | ); 208 | }; 209 | /* End PBXProject section */ 210 | 211 | /* Begin PBXResourcesBuildPhase section */ 212 | 8D255AC90486D3F9007BF209 /* Resources */ = { 213 | isa = PBXResourcesBuildPhase; 214 | buildActionMask = 2147483647; 215 | files = ( 216 | 6AF918601ACD3C79002656AE /* thumbnail.png in Resources */, 217 | 8D255ACA0486D3F9007BF209 /* InfoPlist.strings in Resources */, 218 | 6AF918611ACD3C79002656AE /* thumbnail@2x.png in Resources */, 219 | 6A25995A1ACC40AF00548F4D /* ConfigureSheet.xib in Resources */, 220 | ); 221 | runOnlyForDeploymentPostprocessing = 0; 222 | }; 223 | /* End PBXResourcesBuildPhase section */ 224 | 225 | /* Begin PBXRezBuildPhase section */ 226 | 8D255AD00486D3F9007BF209 /* Rez */ = { 227 | isa = PBXRezBuildPhase; 228 | buildActionMask = 2147483647; 229 | files = ( 230 | ); 231 | runOnlyForDeploymentPostprocessing = 0; 232 | }; 233 | /* End PBXRezBuildPhase section */ 234 | 235 | /* Begin PBXSourcesBuildPhase section */ 236 | 8D255ACB0486D3F9007BF209 /* Sources */ = { 237 | isa = PBXSourcesBuildPhase; 238 | buildActionMask = 2147483647; 239 | files = ( 240 | 8D255ACC0486D3F9007BF209 /* BSODSaverView.m in Sources */, 241 | ); 242 | runOnlyForDeploymentPostprocessing = 0; 243 | }; 244 | /* End PBXSourcesBuildPhase section */ 245 | 246 | /* Begin PBXVariantGroup section */ 247 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { 248 | isa = PBXVariantGroup; 249 | children = ( 250 | F4EB2E852356FA80004AF5F6 /* en */, 251 | ); 252 | name = InfoPlist.strings; 253 | sourceTree = ""; 254 | }; 255 | /* End PBXVariantGroup section */ 256 | 257 | /* Begin XCBuildConfiguration section */ 258 | EF7AD72E08BB986600CE4634 /* Debug */ = { 259 | isa = XCBuildConfiguration; 260 | buildSettings = { 261 | ALWAYS_SEARCH_USER_PATHS = NO; 262 | CLANG_ENABLE_OBJC_ARC = YES; 263 | COMBINE_HIDPI_IMAGES = YES; 264 | GCC_DYNAMIC_NO_PIC = NO; 265 | GCC_MODEL_TUNING = G5; 266 | GCC_OPTIMIZATION_LEVEL = 0; 267 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 268 | GCC_PREFIX_HEADER = SC_Prefix.pch; 269 | INFOPLIST_FILE = Info.plist; 270 | INSTALL_PATH = "$(HOME)/Library/Screen Savers"; 271 | OBJROOT = "$(SYMROOT)"; 272 | PRODUCT_BUNDLE_IDENTIFIER = se.dessibelle.BlueScreenSaver; 273 | PRODUCT_NAME = "Blue Screen Saver"; 274 | SDKROOT = macosx; 275 | SYMROOT = ./Build; 276 | WRAPPER_EXTENSION = saver; 277 | ZERO_LINK = YES; 278 | }; 279 | name = Debug; 280 | }; 281 | EF7AD72F08BB986600CE4634 /* Release */ = { 282 | isa = XCBuildConfiguration; 283 | buildSettings = { 284 | ALWAYS_SEARCH_USER_PATHS = NO; 285 | CLANG_ENABLE_OBJC_ARC = YES; 286 | COMBINE_HIDPI_IMAGES = YES; 287 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 288 | GCC_MODEL_TUNING = G5; 289 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 290 | GCC_PREFIX_HEADER = SC_Prefix.pch; 291 | INFOPLIST_FILE = Info.plist; 292 | INSTALL_PATH = "$(HOME)/Library/Screen Savers"; 293 | OBJROOT = "$(SYMROOT)"; 294 | PRODUCT_BUNDLE_IDENTIFIER = se.dessibelle.BlueScreenSaver; 295 | PRODUCT_NAME = "Blue Screen Saver"; 296 | SDKROOT = macosx; 297 | SYMROOT = ./Build; 298 | WRAPPER_EXTENSION = saver; 299 | }; 300 | name = Release; 301 | }; 302 | EF7AD73208BB986600CE4634 /* Debug */ = { 303 | isa = XCBuildConfiguration; 304 | buildSettings = { 305 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 306 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 307 | CLANG_WARN_BOOL_CONVERSION = YES; 308 | CLANG_WARN_COMMA = YES; 309 | CLANG_WARN_CONSTANT_CONVERSION = YES; 310 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 311 | CLANG_WARN_EMPTY_BODY = YES; 312 | CLANG_WARN_ENUM_CONVERSION = YES; 313 | CLANG_WARN_INFINITE_RECURSION = YES; 314 | CLANG_WARN_INT_CONVERSION = YES; 315 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 316 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 317 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 318 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 319 | CLANG_WARN_STRICT_PROTOTYPES = YES; 320 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 321 | CLANG_WARN_UNREACHABLE_CODE = YES; 322 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 323 | ENABLE_STRICT_OBJC_MSGSEND = YES; 324 | ENABLE_TESTABILITY = YES; 325 | GCC_C_LANGUAGE_STANDARD = gnu99; 326 | GCC_NO_COMMON_BLOCKS = YES; 327 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 328 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 329 | GCC_WARN_UNDECLARED_SELECTOR = YES; 330 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 331 | GCC_WARN_UNUSED_FUNCTION = YES; 332 | GCC_WARN_UNUSED_VARIABLE = YES; 333 | ONLY_ACTIVE_ARCH = YES; 334 | SDKROOT = macosx; 335 | }; 336 | name = Debug; 337 | }; 338 | EF7AD73308BB986600CE4634 /* Release */ = { 339 | isa = XCBuildConfiguration; 340 | buildSettings = { 341 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 342 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 343 | CLANG_WARN_BOOL_CONVERSION = YES; 344 | CLANG_WARN_COMMA = YES; 345 | CLANG_WARN_CONSTANT_CONVERSION = YES; 346 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 347 | CLANG_WARN_EMPTY_BODY = YES; 348 | CLANG_WARN_ENUM_CONVERSION = YES; 349 | CLANG_WARN_INFINITE_RECURSION = YES; 350 | CLANG_WARN_INT_CONVERSION = YES; 351 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 352 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 353 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 354 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 355 | CLANG_WARN_STRICT_PROTOTYPES = YES; 356 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 357 | CLANG_WARN_UNREACHABLE_CODE = YES; 358 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 359 | ENABLE_STRICT_OBJC_MSGSEND = YES; 360 | GCC_C_LANGUAGE_STANDARD = gnu99; 361 | GCC_NO_COMMON_BLOCKS = YES; 362 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 363 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 364 | GCC_WARN_UNDECLARED_SELECTOR = YES; 365 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 366 | GCC_WARN_UNUSED_FUNCTION = YES; 367 | GCC_WARN_UNUSED_VARIABLE = YES; 368 | SDKROOT = macosx; 369 | }; 370 | name = Release; 371 | }; 372 | /* End XCBuildConfiguration section */ 373 | 374 | /* Begin XCConfigurationList section */ 375 | EF7AD72D08BB986600CE4634 /* Build configuration list for PBXNativeTarget "Blue Screen Saver" */ = { 376 | isa = XCConfigurationList; 377 | buildConfigurations = ( 378 | EF7AD72E08BB986600CE4634 /* Debug */, 379 | EF7AD72F08BB986600CE4634 /* Release */, 380 | ); 381 | defaultConfigurationIsVisible = 0; 382 | defaultConfigurationName = Release; 383 | }; 384 | EF7AD73108BB986600CE4634 /* Build configuration list for PBXProject "Blue Screen Saver" */ = { 385 | isa = XCConfigurationList; 386 | buildConfigurations = ( 387 | EF7AD73208BB986600CE4634 /* Debug */, 388 | EF7AD73308BB986600CE4634 /* Release */, 389 | ); 390 | defaultConfigurationIsVisible = 0; 391 | defaultConfigurationName = Release; 392 | }; 393 | /* End XCConfigurationList section */ 394 | }; 395 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 396 | } 397 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/project.xcworkspace/xcshareddata/Blue Screen Saver.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | B8C5D77C-E258-4971-911C-7C1967D17030 9 | IDESourceControlProjectName 10 | Blue Screen Saver 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 9F1FBFA23551FE28D12A140AD44A2A5DE6F3188C 14 | github.com:dessibelle/Blue-Screen-Saver 15 | 16 | IDESourceControlProjectPath 17 | Blue Screen Saver.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 9F1FBFA23551FE28D12A140AD44A2A5DE6F3188C 21 | ../.. 22 | 23 | IDESourceControlProjectURL 24 | github.com:dessibelle/Blue-Screen-Saver 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 9F1FBFA23551FE28D12A140AD44A2A5DE6F3188C 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 9F1FBFA23551FE28D12A140AD44A2A5DE6F3188C 36 | IDESourceControlWCCName 37 | Blue-Screen-Saver 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/project.xcworkspace/xcuserdata/simonfransson.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dessibelle/Blue-Screen-Saver/902086d9bfbf6463a8882bca3b5a46eada568a5d/Blue Screen Saver.xcodeproj/project.xcworkspace/xcuserdata/simonfransson.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/project.xcworkspace/xcuserdata/simonfransson.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildLocationStyle 6 | UseTargetSettings 7 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 8 | 9 | SnapshotAutomaticallyBeforeSignificantChanges 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/simon.mode1v3: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ActivePerspectiveName 6 | Project 7 | AllowedModules 8 | 9 | 10 | BundleLoadPath 11 | 12 | MaxInstances 13 | n 14 | Module 15 | PBXSmartGroupTreeModule 16 | Name 17 | Groups and Files Outline View 18 | 19 | 20 | BundleLoadPath 21 | 22 | MaxInstances 23 | n 24 | Module 25 | PBXNavigatorGroup 26 | Name 27 | Editor 28 | 29 | 30 | BundleLoadPath 31 | 32 | MaxInstances 33 | n 34 | Module 35 | XCTaskListModule 36 | Name 37 | Task List 38 | 39 | 40 | BundleLoadPath 41 | 42 | MaxInstances 43 | n 44 | Module 45 | XCDetailModule 46 | Name 47 | File and Smart Group Detail Viewer 48 | 49 | 50 | BundleLoadPath 51 | 52 | MaxInstances 53 | 1 54 | Module 55 | PBXBuildResultsModule 56 | Name 57 | Detailed Build Results Viewer 58 | 59 | 60 | BundleLoadPath 61 | 62 | MaxInstances 63 | 1 64 | Module 65 | PBXProjectFindModule 66 | Name 67 | Project Batch Find Tool 68 | 69 | 70 | BundleLoadPath 71 | 72 | MaxInstances 73 | n 74 | Module 75 | XCProjectFormatConflictsModule 76 | Name 77 | Project Format Conflicts List 78 | 79 | 80 | BundleLoadPath 81 | 82 | MaxInstances 83 | n 84 | Module 85 | PBXBookmarksModule 86 | Name 87 | Bookmarks Tool 88 | 89 | 90 | BundleLoadPath 91 | 92 | MaxInstances 93 | n 94 | Module 95 | PBXClassBrowserModule 96 | Name 97 | Class Browser 98 | 99 | 100 | BundleLoadPath 101 | 102 | MaxInstances 103 | n 104 | Module 105 | PBXCVSModule 106 | Name 107 | Source Code Control Tool 108 | 109 | 110 | BundleLoadPath 111 | 112 | MaxInstances 113 | n 114 | Module 115 | PBXDebugBreakpointsModule 116 | Name 117 | Debug Breakpoints Tool 118 | 119 | 120 | BundleLoadPath 121 | 122 | MaxInstances 123 | n 124 | Module 125 | XCDockableInspector 126 | Name 127 | Inspector 128 | 129 | 130 | BundleLoadPath 131 | 132 | MaxInstances 133 | n 134 | Module 135 | PBXOpenQuicklyModule 136 | Name 137 | Open Quickly Tool 138 | 139 | 140 | BundleLoadPath 141 | 142 | MaxInstances 143 | 1 144 | Module 145 | PBXDebugSessionModule 146 | Name 147 | Debugger 148 | 149 | 150 | BundleLoadPath 151 | 152 | MaxInstances 153 | 1 154 | Module 155 | PBXDebugCLIModule 156 | Name 157 | Debug Console 158 | 159 | 160 | BundleLoadPath 161 | 162 | MaxInstances 163 | n 164 | Module 165 | XCSnapshotModule 166 | Name 167 | Snapshots Tool 168 | 169 | 170 | BundlePath 171 | /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources 172 | Description 173 | DefaultDescriptionKey 174 | DockingSystemVisible 175 | 176 | Extension 177 | mode1v3 178 | FavBarConfig 179 | 180 | PBXProjectModuleGUID 181 | F483B6C1118ED60A00C50937 182 | XCBarModuleItemNames 183 | 184 | XCBarModuleItems 185 | 186 | 187 | FirstTimeWindowDisplayed 188 | 189 | Identifier 190 | com.apple.perspectives.project.mode1v3 191 | MajorVersion 192 | 33 193 | MinorVersion 194 | 0 195 | Name 196 | Default 197 | Notifications 198 | 199 | OpenEditors 200 | 201 | PerspectiveWidths 202 | 203 | -1 204 | -1 205 | 206 | Perspectives 207 | 208 | 209 | ChosenToolbarItems 210 | 211 | active-combo-popup 212 | action 213 | NSToolbarFlexibleSpaceItem 214 | debugger-enable-breakpoints 215 | buildOrClean 216 | build-and-go 217 | com.apple.ide.PBXToolbarStopButton 218 | get-info 219 | NSToolbarFlexibleSpaceItem 220 | com.apple.pbx.toolbar.searchfield 221 | 222 | ControllerClassBaseName 223 | 224 | IconName 225 | WindowOfProjectWithEditor 226 | Identifier 227 | perspective.project 228 | IsVertical 229 | 230 | Layout 231 | 232 | 233 | BecomeActive 234 | 235 | ContentConfiguration 236 | 237 | PBXBottomSmartGroupGIDs 238 | 239 | 1C37FBAC04509CD000000102 240 | 1C37FAAC04509CD000000102 241 | 1C37FABC05509CD000000102 242 | 1C37FABC05539CD112110102 243 | E2644B35053B69B200211256 244 | 1C37FABC04509CD000100104 245 | 1CC0EA4004350EF90044410B 246 | 1CC0EA4004350EF90041110B 247 | 248 | PBXProjectModuleGUID 249 | 1CE0B1FE06471DED0097A5F4 250 | PBXProjectModuleLabel 251 | Files 252 | PBXProjectStructureProvided 253 | yes 254 | PBXSmartGroupTreeModuleColumnData 255 | 256 | PBXSmartGroupTreeModuleColumnWidthsKey 257 | 258 | 219 259 | 260 | PBXSmartGroupTreeModuleColumnsKey_v4 261 | 262 | MainColumn 263 | 264 | 265 | PBXSmartGroupTreeModuleOutlineStateKey_v7 266 | 267 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 268 | 269 | 089C166AFE841209C02AAC07 270 | 08FB77AFFE84173DC02AAC07 271 | 32DBCFA70370C4F300C91783 272 | 089C167CFE841241C02AAC07 273 | 089C167DFE841241C02AAC07 274 | 089C1671FE841209C02AAC07 275 | 1058C7ACFEA557BF11CA2CBB 276 | 1058C7AEFEA557BF11CA2CBB 277 | 19C28FB8FE9D52D311CA2CBB 278 | 1C37FBAC04509CD000000102 279 | 1C37FABC05509CD000000102 280 | 281 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 282 | 283 | 284 | 3 285 | 1 286 | 0 287 | 288 | 289 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 290 | {{0, 0}, {219, 713}} 291 | 292 | PBXTopSmartGroupGIDs 293 | 294 | XCIncludePerspectivesSwitch 295 | 296 | XCSharingToken 297 | com.apple.Xcode.GFSharingToken 298 | 299 | GeometryConfiguration 300 | 301 | Frame 302 | {{0, 0}, {236, 731}} 303 | GroupTreeTableConfiguration 304 | 305 | MainColumn 306 | 219 307 | 308 | RubberWindowFrame 309 | 421 332 1440 772 0 0 1920 1178 310 | 311 | Module 312 | PBXSmartGroupTreeModule 313 | Proportion 314 | 236pt 315 | 316 | 317 | Dock 318 | 319 | 320 | ContentConfiguration 321 | 322 | PBXProjectModuleGUID 323 | 1CE0B20306471E060097A5F4 324 | PBXProjectModuleLabel 325 | SCView.m 326 | PBXSplitModuleInNavigatorKey 327 | 328 | Split0 329 | 330 | PBXProjectModuleGUID 331 | 1CE0B20406471E060097A5F4 332 | PBXProjectModuleLabel 333 | SCView.m 334 | _historyCapacity 335 | 0 336 | bookmark 337 | F4E5C42612DF45930071B159 338 | history 339 | 340 | F42E5E611194598C00EDAACB 341 | F4921B1411A13DC4005A9F8C 342 | F4921B1511A13DC4005A9F8C 343 | F4E5C42412DF45930071B159 344 | F4E5C42512DF45930071B159 345 | 346 | 347 | SplitCount 348 | 1 349 | 350 | StatusBarVisibility 351 | 352 | 353 | GeometryConfiguration 354 | 355 | Frame 356 | {{0, 0}, {1199, 528}} 357 | RubberWindowFrame 358 | 421 332 1440 772 0 0 1920 1178 359 | 360 | Module 361 | PBXNavigatorGroup 362 | Proportion 363 | 528pt 364 | 365 | 366 | ContentConfiguration 367 | 368 | PBXProjectModuleGUID 369 | 1CE0B20506471E060097A5F4 370 | PBXProjectModuleLabel 371 | Detail 372 | 373 | GeometryConfiguration 374 | 375 | Frame 376 | {{0, 533}, {1199, 198}} 377 | RubberWindowFrame 378 | 421 332 1440 772 0 0 1920 1178 379 | 380 | Module 381 | XCDetailModule 382 | Proportion 383 | 198pt 384 | 385 | 386 | Proportion 387 | 1199pt 388 | 389 | 390 | Name 391 | Project 392 | ServiceClasses 393 | 394 | XCModuleDock 395 | PBXSmartGroupTreeModule 396 | XCModuleDock 397 | PBXNavigatorGroup 398 | XCDetailModule 399 | 400 | TableOfContents 401 | 402 | F4E5C41012DF454E0071B159 403 | 1CE0B1FE06471DED0097A5F4 404 | F4E5C41112DF454E0071B159 405 | 1CE0B20306471E060097A5F4 406 | 1CE0B20506471E060097A5F4 407 | 408 | ToolbarConfigUserDefaultsMinorVersion 409 | 2 410 | ToolbarConfiguration 411 | xcode.toolbar.config.defaultV3 412 | 413 | 414 | ControllerClassBaseName 415 | 416 | IconName 417 | WindowOfProject 418 | Identifier 419 | perspective.morph 420 | IsVertical 421 | 0 422 | Layout 423 | 424 | 425 | BecomeActive 426 | 1 427 | ContentConfiguration 428 | 429 | PBXBottomSmartGroupGIDs 430 | 431 | 1C37FBAC04509CD000000102 432 | 1C37FAAC04509CD000000102 433 | 1C08E77C0454961000C914BD 434 | 1C37FABC05509CD000000102 435 | 1C37FABC05539CD112110102 436 | E2644B35053B69B200211256 437 | 1C37FABC04509CD000100104 438 | 1CC0EA4004350EF90044410B 439 | 1CC0EA4004350EF90041110B 440 | 441 | PBXProjectModuleGUID 442 | 11E0B1FE06471DED0097A5F4 443 | PBXProjectModuleLabel 444 | Files 445 | PBXProjectStructureProvided 446 | yes 447 | PBXSmartGroupTreeModuleColumnData 448 | 449 | PBXSmartGroupTreeModuleColumnWidthsKey 450 | 451 | 186 452 | 453 | PBXSmartGroupTreeModuleColumnsKey_v4 454 | 455 | MainColumn 456 | 457 | 458 | PBXSmartGroupTreeModuleOutlineStateKey_v7 459 | 460 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 461 | 462 | 29B97314FDCFA39411CA2CEA 463 | 1C37FABC05509CD000000102 464 | 465 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 466 | 467 | 468 | 0 469 | 470 | 471 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 472 | {{0, 0}, {186, 337}} 473 | 474 | PBXTopSmartGroupGIDs 475 | 476 | XCIncludePerspectivesSwitch 477 | 1 478 | XCSharingToken 479 | com.apple.Xcode.GFSharingToken 480 | 481 | GeometryConfiguration 482 | 483 | Frame 484 | {{0, 0}, {203, 355}} 485 | GroupTreeTableConfiguration 486 | 487 | MainColumn 488 | 186 489 | 490 | RubberWindowFrame 491 | 373 269 690 397 0 0 1440 878 492 | 493 | Module 494 | PBXSmartGroupTreeModule 495 | Proportion 496 | 100% 497 | 498 | 499 | Name 500 | Morph 501 | PreferredWidth 502 | 300 503 | ServiceClasses 504 | 505 | XCModuleDock 506 | PBXSmartGroupTreeModule 507 | 508 | TableOfContents 509 | 510 | 11E0B1FE06471DED0097A5F4 511 | 512 | ToolbarConfiguration 513 | xcode.toolbar.config.default.shortV3 514 | 515 | 516 | PerspectivesBarVisible 517 | 518 | ShelfIsVisible 519 | 520 | SourceDescription 521 | file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' 522 | StatusbarIsVisible 523 | 524 | TimeStamp 525 | 0.0 526 | ToolbarConfigUserDefaultsMinorVersion 527 | 2 528 | ToolbarDisplayMode 529 | 1 530 | ToolbarIsVisible 531 | 532 | ToolbarSizeMode 533 | 1 534 | Type 535 | Perspectives 536 | UpdateMessage 537 | The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? 538 | WindowJustification 539 | 5 540 | WindowOrderList 541 | 542 | F483B6C2118ED60A00C50937 543 | /Users/simon/Code/Projects/Blue Screen Saver/Blue Screen Saver.xcodeproj 544 | 545 | WindowString 546 | 421 332 1440 772 0 0 1920 1178 547 | WindowToolsV3 548 | 549 | 550 | FirstTimeWindowDisplayed 551 | 552 | Identifier 553 | windowTool.build 554 | IsVertical 555 | 556 | Layout 557 | 558 | 559 | Dock 560 | 561 | 562 | ContentConfiguration 563 | 564 | PBXProjectModuleGUID 565 | 1CD0528F0623707200166675 566 | PBXProjectModuleLabel 567 | 568 | StatusBarVisibility 569 | 570 | 571 | GeometryConfiguration 572 | 573 | Frame 574 | {{0, 0}, {1147, 427}} 575 | RubberWindowFrame 576 | 24 323 1147 744 0 0 1920 1178 577 | 578 | Module 579 | PBXNavigatorGroup 580 | Proportion 581 | 427pt 582 | 583 | 584 | ContentConfiguration 585 | 586 | PBXProjectModuleGUID 587 | XCMainBuildResultsModuleGUID 588 | PBXProjectModuleLabel 589 | Build Results 590 | XCBuildResultsTrigger_Collapse 591 | 1021 592 | XCBuildResultsTrigger_Open 593 | 1011 594 | 595 | GeometryConfiguration 596 | 597 | Frame 598 | {{0, 432}, {1147, 271}} 599 | RubberWindowFrame 600 | 24 323 1147 744 0 0 1920 1178 601 | 602 | Module 603 | PBXBuildResultsModule 604 | Proportion 605 | 271pt 606 | 607 | 608 | Proportion 609 | 703pt 610 | 611 | 612 | Name 613 | Build Results 614 | ServiceClasses 615 | 616 | PBXBuildResultsModule 617 | 618 | StatusbarIsVisible 619 | 620 | TableOfContents 621 | 622 | F483B6C2118ED60A00C50937 623 | F4E5C41212DF454E0071B159 624 | 1CD0528F0623707200166675 625 | XCMainBuildResultsModuleGUID 626 | 627 | ToolbarConfiguration 628 | xcode.toolbar.config.buildV3 629 | WindowContentMinSize 630 | 486 300 631 | WindowString 632 | 24 323 1147 744 0 0 1920 1178 633 | WindowToolGUID 634 | F483B6C2118ED60A00C50937 635 | WindowToolIsVisible 636 | 637 | 638 | 639 | Identifier 640 | windowTool.debugger 641 | Layout 642 | 643 | 644 | Dock 645 | 646 | 647 | ContentConfiguration 648 | 649 | Debugger 650 | 651 | HorizontalSplitView 652 | 653 | _collapsingFrameDimension 654 | 0.0 655 | _indexOfCollapsedView 656 | 0 657 | _percentageOfCollapsedView 658 | 0.0 659 | isCollapsed 660 | yes 661 | sizes 662 | 663 | {{0, 0}, {317, 164}} 664 | {{317, 0}, {377, 164}} 665 | 666 | 667 | VerticalSplitView 668 | 669 | _collapsingFrameDimension 670 | 0.0 671 | _indexOfCollapsedView 672 | 0 673 | _percentageOfCollapsedView 674 | 0.0 675 | isCollapsed 676 | yes 677 | sizes 678 | 679 | {{0, 0}, {694, 164}} 680 | {{0, 164}, {694, 216}} 681 | 682 | 683 | 684 | LauncherConfigVersion 685 | 8 686 | PBXProjectModuleGUID 687 | 1C162984064C10D400B95A72 688 | PBXProjectModuleLabel 689 | Debug - GLUTExamples (Underwater) 690 | 691 | GeometryConfiguration 692 | 693 | DebugConsoleDrawerSize 694 | {100, 120} 695 | DebugConsoleVisible 696 | None 697 | DebugConsoleWindowFrame 698 | {{200, 200}, {500, 300}} 699 | DebugSTDIOWindowFrame 700 | {{200, 200}, {500, 300}} 701 | Frame 702 | {{0, 0}, {694, 380}} 703 | RubberWindowFrame 704 | 321 238 694 422 0 0 1440 878 705 | 706 | Module 707 | PBXDebugSessionModule 708 | Proportion 709 | 100% 710 | 711 | 712 | Proportion 713 | 100% 714 | 715 | 716 | Name 717 | Debugger 718 | ServiceClasses 719 | 720 | PBXDebugSessionModule 721 | 722 | StatusbarIsVisible 723 | 1 724 | TableOfContents 725 | 726 | 1CD10A99069EF8BA00B06720 727 | 1C0AD2AB069F1E9B00FABCE6 728 | 1C162984064C10D400B95A72 729 | 1C0AD2AC069F1E9B00FABCE6 730 | 731 | ToolbarConfiguration 732 | xcode.toolbar.config.debugV3 733 | WindowString 734 | 321 238 694 422 0 0 1440 878 735 | WindowToolGUID 736 | 1CD10A99069EF8BA00B06720 737 | WindowToolIsVisible 738 | 0 739 | 740 | 741 | FirstTimeWindowDisplayed 742 | 743 | Identifier 744 | windowTool.find 745 | IsVertical 746 | 747 | Layout 748 | 749 | 750 | Dock 751 | 752 | 753 | Dock 754 | 755 | 756 | ContentConfiguration 757 | 758 | PBXProjectModuleGUID 759 | 1CDD528C0622207200134675 760 | PBXProjectModuleLabel 761 | 762 | StatusBarVisibility 763 | 764 | 765 | GeometryConfiguration 766 | 767 | Frame 768 | {{0, 0}, {781, 212}} 769 | RubberWindowFrame 770 | 81 621 781 470 0 0 1920 1178 771 | 772 | Module 773 | PBXNavigatorGroup 774 | Proportion 775 | 781pt 776 | 777 | 778 | Proportion 779 | 212pt 780 | 781 | 782 | BecomeActive 783 | 784 | ContentConfiguration 785 | 786 | PBXProjectModuleGUID 787 | 1CD0528E0623707200166675 788 | PBXProjectModuleLabel 789 | Project Find 790 | 791 | GeometryConfiguration 792 | 793 | Frame 794 | {{0, 217}, {781, 212}} 795 | RubberWindowFrame 796 | 81 621 781 470 0 0 1920 1178 797 | 798 | Module 799 | PBXProjectFindModule 800 | Proportion 801 | 212pt 802 | 803 | 804 | Proportion 805 | 429pt 806 | 807 | 808 | Name 809 | Project Find 810 | ServiceClasses 811 | 812 | PBXProjectFindModule 813 | 814 | StatusbarIsVisible 815 | 816 | TableOfContents 817 | 818 | 1C530D57069F1CE1000CFCEE 819 | F42E5EFD1194696600EDAACB 820 | F42E5EFE1194696600EDAACB 821 | 1CDD528C0622207200134675 822 | 1CD0528E0623707200166675 823 | 824 | WindowString 825 | 81 621 781 470 0 0 1920 1178 826 | WindowToolGUID 827 | 1C530D57069F1CE1000CFCEE 828 | WindowToolIsVisible 829 | 830 | 831 | 832 | Identifier 833 | MENUSEPARATOR 834 | 835 | 836 | FirstTimeWindowDisplayed 837 | 838 | Identifier 839 | windowTool.debuggerConsole 840 | IsVertical 841 | 842 | Layout 843 | 844 | 845 | Dock 846 | 847 | 848 | BecomeActive 849 | 850 | ContentConfiguration 851 | 852 | PBXProjectModuleGUID 853 | 1C78EAAC065D492600B07095 854 | PBXProjectModuleLabel 855 | Debugger Console 856 | 857 | GeometryConfiguration 858 | 859 | Frame 860 | {{0, 0}, {650, 209}} 861 | RubberWindowFrame 862 | 50 571 650 250 0 0 1440 878 863 | 864 | Module 865 | PBXDebugCLIModule 866 | Proportion 867 | 209pt 868 | 869 | 870 | Proportion 871 | 209pt 872 | 873 | 874 | Name 875 | Debugger Console 876 | ServiceClasses 877 | 878 | PBXDebugCLIModule 879 | 880 | StatusbarIsVisible 881 | 882 | TableOfContents 883 | 884 | 1C78EAAD065D492600B07095 885 | F48A9EC711A0124000E4E5AD 886 | 1C78EAAC065D492600B07095 887 | 888 | ToolbarConfiguration 889 | xcode.toolbar.config.consoleV3 890 | WindowString 891 | 50 571 650 250 0 0 1440 878 892 | WindowToolGUID 893 | 1C78EAAD065D492600B07095 894 | WindowToolIsVisible 895 | 896 | 897 | 898 | Identifier 899 | windowTool.snapshots 900 | Layout 901 | 902 | 903 | Dock 904 | 905 | 906 | Module 907 | XCSnapshotModule 908 | Proportion 909 | 100% 910 | 911 | 912 | Proportion 913 | 100% 914 | 915 | 916 | Name 917 | Snapshots 918 | ServiceClasses 919 | 920 | XCSnapshotModule 921 | 922 | StatusbarIsVisible 923 | Yes 924 | ToolbarConfiguration 925 | xcode.toolbar.config.snapshots 926 | WindowString 927 | 315 824 300 550 0 0 1440 878 928 | WindowToolIsVisible 929 | Yes 930 | 931 | 932 | Identifier 933 | windowTool.scm 934 | Layout 935 | 936 | 937 | Dock 938 | 939 | 940 | ContentConfiguration 941 | 942 | PBXProjectModuleGUID 943 | 1C78EAB2065D492600B07095 944 | PBXProjectModuleLabel 945 | <No Editor> 946 | PBXSplitModuleInNavigatorKey 947 | 948 | Split0 949 | 950 | PBXProjectModuleGUID 951 | 1C78EAB3065D492600B07095 952 | 953 | SplitCount 954 | 1 955 | 956 | StatusBarVisibility 957 | 1 958 | 959 | GeometryConfiguration 960 | 961 | Frame 962 | {{0, 0}, {452, 0}} 963 | RubberWindowFrame 964 | 743 379 452 308 0 0 1280 1002 965 | 966 | Module 967 | PBXNavigatorGroup 968 | Proportion 969 | 0pt 970 | 971 | 972 | BecomeActive 973 | 1 974 | ContentConfiguration 975 | 976 | PBXProjectModuleGUID 977 | 1CD052920623707200166675 978 | PBXProjectModuleLabel 979 | SCM 980 | 981 | GeometryConfiguration 982 | 983 | ConsoleFrame 984 | {{0, 259}, {452, 0}} 985 | Frame 986 | {{0, 7}, {452, 259}} 987 | RubberWindowFrame 988 | 743 379 452 308 0 0 1280 1002 989 | TableConfiguration 990 | 991 | Status 992 | 30 993 | FileName 994 | 199 995 | Path 996 | 197.0950012207031 997 | 998 | TableFrame 999 | {{0, 0}, {452, 250}} 1000 | 1001 | Module 1002 | PBXCVSModule 1003 | Proportion 1004 | 262pt 1005 | 1006 | 1007 | Proportion 1008 | 266pt 1009 | 1010 | 1011 | Name 1012 | SCM 1013 | ServiceClasses 1014 | 1015 | PBXCVSModule 1016 | 1017 | StatusbarIsVisible 1018 | 1 1019 | TableOfContents 1020 | 1021 | 1C78EAB4065D492600B07095 1022 | 1C78EAB5065D492600B07095 1023 | 1C78EAB2065D492600B07095 1024 | 1CD052920623707200166675 1025 | 1026 | ToolbarConfiguration 1027 | xcode.toolbar.config.scm 1028 | WindowString 1029 | 743 379 452 308 0 0 1280 1002 1030 | 1031 | 1032 | Identifier 1033 | windowTool.breakpoints 1034 | IsVertical 1035 | 0 1036 | Layout 1037 | 1038 | 1039 | Dock 1040 | 1041 | 1042 | BecomeActive 1043 | 1 1044 | ContentConfiguration 1045 | 1046 | PBXBottomSmartGroupGIDs 1047 | 1048 | 1C77FABC04509CD000000102 1049 | 1050 | PBXProjectModuleGUID 1051 | 1CE0B1FE06471DED0097A5F4 1052 | PBXProjectModuleLabel 1053 | Files 1054 | PBXProjectStructureProvided 1055 | no 1056 | PBXSmartGroupTreeModuleColumnData 1057 | 1058 | PBXSmartGroupTreeModuleColumnWidthsKey 1059 | 1060 | 168 1061 | 1062 | PBXSmartGroupTreeModuleColumnsKey_v4 1063 | 1064 | MainColumn 1065 | 1066 | 1067 | PBXSmartGroupTreeModuleOutlineStateKey_v7 1068 | 1069 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 1070 | 1071 | 1C77FABC04509CD000000102 1072 | 1073 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 1074 | 1075 | 1076 | 0 1077 | 1078 | 1079 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 1080 | {{0, 0}, {168, 350}} 1081 | 1082 | PBXTopSmartGroupGIDs 1083 | 1084 | XCIncludePerspectivesSwitch 1085 | 0 1086 | 1087 | GeometryConfiguration 1088 | 1089 | Frame 1090 | {{0, 0}, {185, 368}} 1091 | GroupTreeTableConfiguration 1092 | 1093 | MainColumn 1094 | 168 1095 | 1096 | RubberWindowFrame 1097 | 315 424 744 409 0 0 1440 878 1098 | 1099 | Module 1100 | PBXSmartGroupTreeModule 1101 | Proportion 1102 | 185pt 1103 | 1104 | 1105 | ContentConfiguration 1106 | 1107 | PBXProjectModuleGUID 1108 | 1CA1AED706398EBD00589147 1109 | PBXProjectModuleLabel 1110 | Detail 1111 | 1112 | GeometryConfiguration 1113 | 1114 | Frame 1115 | {{190, 0}, {554, 368}} 1116 | RubberWindowFrame 1117 | 315 424 744 409 0 0 1440 878 1118 | 1119 | Module 1120 | XCDetailModule 1121 | Proportion 1122 | 554pt 1123 | 1124 | 1125 | Proportion 1126 | 368pt 1127 | 1128 | 1129 | MajorVersion 1130 | 3 1131 | MinorVersion 1132 | 0 1133 | Name 1134 | Breakpoints 1135 | ServiceClasses 1136 | 1137 | PBXSmartGroupTreeModule 1138 | XCDetailModule 1139 | 1140 | StatusbarIsVisible 1141 | 1 1142 | TableOfContents 1143 | 1144 | 1CDDB66807F98D9800BB5817 1145 | 1CDDB66907F98D9800BB5817 1146 | 1CE0B1FE06471DED0097A5F4 1147 | 1CA1AED706398EBD00589147 1148 | 1149 | ToolbarConfiguration 1150 | xcode.toolbar.config.breakpointsV3 1151 | WindowString 1152 | 315 424 744 409 0 0 1440 878 1153 | WindowToolGUID 1154 | 1CDDB66807F98D9800BB5817 1155 | WindowToolIsVisible 1156 | 1 1157 | 1158 | 1159 | Identifier 1160 | windowTool.debugAnimator 1161 | Layout 1162 | 1163 | 1164 | Dock 1165 | 1166 | 1167 | Module 1168 | PBXNavigatorGroup 1169 | Proportion 1170 | 100% 1171 | 1172 | 1173 | Proportion 1174 | 100% 1175 | 1176 | 1177 | Name 1178 | Debug Visualizer 1179 | ServiceClasses 1180 | 1181 | PBXNavigatorGroup 1182 | 1183 | StatusbarIsVisible 1184 | 1 1185 | ToolbarConfiguration 1186 | xcode.toolbar.config.debugAnimatorV3 1187 | WindowString 1188 | 100 100 700 500 0 0 1280 1002 1189 | 1190 | 1191 | Identifier 1192 | windowTool.bookmarks 1193 | Layout 1194 | 1195 | 1196 | Dock 1197 | 1198 | 1199 | Module 1200 | PBXBookmarksModule 1201 | Proportion 1202 | 100% 1203 | 1204 | 1205 | Proportion 1206 | 100% 1207 | 1208 | 1209 | Name 1210 | Bookmarks 1211 | ServiceClasses 1212 | 1213 | PBXBookmarksModule 1214 | 1215 | StatusbarIsVisible 1216 | 0 1217 | WindowString 1218 | 538 42 401 187 0 0 1280 1002 1219 | 1220 | 1221 | Identifier 1222 | windowTool.projectFormatConflicts 1223 | Layout 1224 | 1225 | 1226 | Dock 1227 | 1228 | 1229 | Module 1230 | XCProjectFormatConflictsModule 1231 | Proportion 1232 | 100% 1233 | 1234 | 1235 | Proportion 1236 | 100% 1237 | 1238 | 1239 | Name 1240 | Project Format Conflicts 1241 | ServiceClasses 1242 | 1243 | XCProjectFormatConflictsModule 1244 | 1245 | StatusbarIsVisible 1246 | 0 1247 | WindowContentMinSize 1248 | 450 300 1249 | WindowString 1250 | 50 850 472 307 0 0 1440 877 1251 | 1252 | 1253 | Identifier 1254 | windowTool.classBrowser 1255 | Layout 1256 | 1257 | 1258 | Dock 1259 | 1260 | 1261 | BecomeActive 1262 | 1 1263 | ContentConfiguration 1264 | 1265 | OptionsSetName 1266 | Hierarchy, all classes 1267 | PBXProjectModuleGUID 1268 | 1CA6456E063B45B4001379D8 1269 | PBXProjectModuleLabel 1270 | Class Browser - NSObject 1271 | 1272 | GeometryConfiguration 1273 | 1274 | ClassesFrame 1275 | {{0, 0}, {374, 96}} 1276 | ClassesTreeTableConfiguration 1277 | 1278 | PBXClassNameColumnIdentifier 1279 | 208 1280 | PBXClassBookColumnIdentifier 1281 | 22 1282 | 1283 | Frame 1284 | {{0, 0}, {630, 331}} 1285 | MembersFrame 1286 | {{0, 105}, {374, 395}} 1287 | MembersTreeTableConfiguration 1288 | 1289 | PBXMemberTypeIconColumnIdentifier 1290 | 22 1291 | PBXMemberNameColumnIdentifier 1292 | 216 1293 | PBXMemberTypeColumnIdentifier 1294 | 97 1295 | PBXMemberBookColumnIdentifier 1296 | 22 1297 | 1298 | PBXModuleWindowStatusBarHidden2 1299 | 1 1300 | RubberWindowFrame 1301 | 385 179 630 352 0 0 1440 878 1302 | 1303 | Module 1304 | PBXClassBrowserModule 1305 | Proportion 1306 | 332pt 1307 | 1308 | 1309 | Proportion 1310 | 332pt 1311 | 1312 | 1313 | Name 1314 | Class Browser 1315 | ServiceClasses 1316 | 1317 | PBXClassBrowserModule 1318 | 1319 | StatusbarIsVisible 1320 | 0 1321 | TableOfContents 1322 | 1323 | 1C0AD2AF069F1E9B00FABCE6 1324 | 1C0AD2B0069F1E9B00FABCE6 1325 | 1CA6456E063B45B4001379D8 1326 | 1327 | ToolbarConfiguration 1328 | xcode.toolbar.config.classbrowser 1329 | WindowString 1330 | 385 179 630 352 0 0 1440 878 1331 | WindowToolGUID 1332 | 1C0AD2AF069F1E9B00FABCE6 1333 | WindowToolIsVisible 1334 | 0 1335 | 1336 | 1337 | Identifier 1338 | windowTool.refactoring 1339 | IncludeInToolsMenu 1340 | 0 1341 | Layout 1342 | 1343 | 1344 | Dock 1345 | 1346 | 1347 | BecomeActive 1348 | 1 1349 | GeometryConfiguration 1350 | 1351 | Frame 1352 | {0, 0}, {500, 335} 1353 | RubberWindowFrame 1354 | {0, 0}, {500, 335} 1355 | 1356 | Module 1357 | XCRefactoringModule 1358 | Proportion 1359 | 100% 1360 | 1361 | 1362 | Proportion 1363 | 100% 1364 | 1365 | 1366 | Name 1367 | Refactoring 1368 | ServiceClasses 1369 | 1370 | XCRefactoringModule 1371 | 1372 | WindowString 1373 | 200 200 500 356 0 0 1920 1200 1374 | 1375 | 1376 | 1377 | 1378 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/simon.pbxuser: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | 089C1669FE841209C02AAC07 /* Project object */ = { 4 | activeBuildConfigurationName = Release; 5 | activeTarget = 8D255AC50486D3F9007BF209 /* Blue Screen Saver */; 6 | addToTargets = ( 7 | 8D255AC50486D3F9007BF209 /* Blue Screen Saver */, 8 | ); 9 | breakpoints = ( 10 | ); 11 | codeSenseManager = F483B6BA118ED60600C50937 /* Code sense */; 12 | perUserDictionary = { 13 | PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { 14 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 15 | PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; 16 | PBXFileTableDataSourceColumnWidthsKey = ( 17 | 22, 18 | 300, 19 | 817, 20 | ); 21 | PBXFileTableDataSourceColumnsKey = ( 22 | PBXExecutablesDataSource_ActiveFlagID, 23 | PBXExecutablesDataSource_NameID, 24 | PBXExecutablesDataSource_CommentsID, 25 | ); 26 | }; 27 | PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { 28 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 29 | PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; 30 | PBXFileTableDataSourceColumnWidthsKey = ( 31 | 20, 32 | 960, 33 | 20, 34 | 48, 35 | 43, 36 | 43, 37 | 20, 38 | ); 39 | PBXFileTableDataSourceColumnsKey = ( 40 | PBXFileDataSource_FiletypeID, 41 | PBXFileDataSource_Filename_ColumnID, 42 | PBXFileDataSource_Built_ColumnID, 43 | PBXFileDataSource_ObjectSize_ColumnID, 44 | PBXFileDataSource_Errors_ColumnID, 45 | PBXFileDataSource_Warnings_ColumnID, 46 | PBXFileDataSource_Target_ColumnID, 47 | ); 48 | }; 49 | PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { 50 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 51 | PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; 52 | PBXFileTableDataSourceColumnWidthsKey = ( 53 | 20, 54 | 898, 55 | 60, 56 | 20, 57 | 48, 58 | 43, 59 | 43, 60 | ); 61 | PBXFileTableDataSourceColumnsKey = ( 62 | PBXFileDataSource_FiletypeID, 63 | PBXFileDataSource_Filename_ColumnID, 64 | PBXTargetDataSource_PrimaryAttribute, 65 | PBXFileDataSource_Built_ColumnID, 66 | PBXFileDataSource_ObjectSize_ColumnID, 67 | PBXFileDataSource_Errors_ColumnID, 68 | PBXFileDataSource_Warnings_ColumnID, 69 | ); 70 | }; 71 | PBXPerProjectTemplateStateSaveDate = 316622142; 72 | PBXWorkspaceStateSaveDate = 316622142; 73 | }; 74 | perUserProjectItems = { 75 | F42E5E611194598C00EDAACB /* PBXTextBookmark */ = F42E5E611194598C00EDAACB /* PBXTextBookmark */; 76 | F4921B1411A13DC4005A9F8C /* PBXTextBookmark */ = F4921B1411A13DC4005A9F8C /* PBXTextBookmark */; 77 | F4921B1511A13DC4005A9F8C /* PlistBookmark */ = F4921B1511A13DC4005A9F8C /* PlistBookmark */; 78 | F4E5C42412DF45930071B159 /* PBXTextBookmark */ = F4E5C42412DF45930071B159 /* PBXTextBookmark */; 79 | F4E5C42512DF45930071B159 /* PBXTextBookmark */ = F4E5C42512DF45930071B159 /* PBXTextBookmark */; 80 | F4E5C42612DF45930071B159 /* PBXTextBookmark */ = F4E5C42612DF45930071B159 /* PBXTextBookmark */; 81 | }; 82 | sourceControlManager = F483B6B9118ED60600C50937 /* Source Control */; 83 | userBuildSettings = { 84 | }; 85 | }; 86 | 089C167EFE841241C02AAC07 /* English */ = { 87 | uiCtxt = { 88 | sepNavIntBoundsRect = "{{0, 0}, {1116, 482}}"; 89 | sepNavSelRange = "{102, 0}"; 90 | sepNavVisRange = "{0, 102}"; 91 | }; 92 | }; 93 | 32DBCFA80370C50100C91783 /* SC_Prefix.pch */ = { 94 | uiCtxt = { 95 | sepNavIntBoundsRect = "{{0, 0}, {1107, 567}}"; 96 | sepNavSelRange = "{0, 0}"; 97 | sepNavVisRange = "{0, 176}"; 98 | }; 99 | }; 100 | 8D255AC50486D3F9007BF209 /* Blue Screen Saver */ = { 101 | activeExec = 0; 102 | }; 103 | F42E5E611194598C00EDAACB /* PBXTextBookmark */ = { 104 | isa = PBXTextBookmark; 105 | fRef = 32DBCFA80370C50100C91783 /* SC_Prefix.pch */; 106 | name = "SC_Prefix.pch: 1"; 107 | rLen = 0; 108 | rLoc = 0; 109 | rType = 0; 110 | vrLen = 176; 111 | vrLoc = 0; 112 | }; 113 | F483B6B9118ED60600C50937 /* Source Control */ = { 114 | isa = PBXSourceControlManager; 115 | fallbackIsa = XCSourceControlManager; 116 | isSCMEnabled = 0; 117 | scmConfiguration = { 118 | repositoryNamesForRoots = { 119 | "" = ""; 120 | }; 121 | }; 122 | }; 123 | F483B6BA118ED60600C50937 /* Code sense */ = { 124 | isa = PBXCodeSenseManager; 125 | indexTemplatePath = ""; 126 | }; 127 | F4921B1411A13DC4005A9F8C /* PBXTextBookmark */ = { 128 | isa = PBXTextBookmark; 129 | fRef = 089C167EFE841241C02AAC07 /* English */; 130 | name = "InfoPlist.strings: 4"; 131 | rLen = 0; 132 | rLoc = 102; 133 | rType = 0; 134 | vrLen = 102; 135 | vrLoc = 0; 136 | }; 137 | F4921B1511A13DC4005A9F8C /* PlistBookmark */ = { 138 | isa = PlistBookmark; 139 | fRef = 8D255AD20486D3F9007BF209 /* Info.plist */; 140 | fallbackIsa = PBXBookmark; 141 | isK = 0; 142 | kPath = ( 143 | ); 144 | name = /Users/simon/Programmering/BlueScreen/Info.plist; 145 | rLen = 0; 146 | rLoc = 9223372036854775808; 147 | }; 148 | F4E5C42412DF45930071B159 /* PBXTextBookmark */ = { 149 | isa = PBXTextBookmark; 150 | fRef = F50079790118B23001CA0E54 /* SCView.h */; 151 | name = "SCView.h: 38"; 152 | rLen = 0; 153 | rLoc = 1056; 154 | rType = 0; 155 | vrLen = 1059; 156 | vrLoc = 0; 157 | }; 158 | F4E5C42512DF45930071B159 /* PBXTextBookmark */ = { 159 | isa = PBXTextBookmark; 160 | fRef = F500797A0118B23001CA0E54 /* SCView.m */; 161 | name = "SCView.m: 106"; 162 | rLen = 19; 163 | rLoc = 5044; 164 | rType = 0; 165 | vrLen = 919; 166 | vrLoc = 5441; 167 | }; 168 | F4E5C42612DF45930071B159 /* PBXTextBookmark */ = { 169 | isa = PBXTextBookmark; 170 | fRef = F500797A0118B23001CA0E54 /* SCView.m */; 171 | name = "SCView.m: 106"; 172 | rLen = 19; 173 | rLoc = 5044; 174 | rType = 0; 175 | vrLen = 1743; 176 | vrLoc = 151; 177 | }; 178 | F50079790118B23001CA0E54 /* SCView.h */ = { 179 | uiCtxt = { 180 | sepNavIntBoundsRect = "{{0, 0}, {1138, 533}}"; 181 | sepNavSelRange = "{1056, 0}"; 182 | sepNavVisRange = "{0, 1059}"; 183 | sepNavWindowFrame = "{{-1440, 138}, {1473, 900}}"; 184 | }; 185 | }; 186 | F500797A0118B23001CA0E54 /* SCView.m */ = { 187 | uiCtxt = { 188 | sepNavIntBoundsRect = "{{0, 0}, {7733, 2522}}"; 189 | sepNavSelRange = "{5044, 19}"; 190 | sepNavVisRange = "{151, 1743}"; 191 | }; 192 | }; 193 | } 194 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/xcshareddata/xcschemes/Blue Screen Saver.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 46 | 50 | 51 | 57 | 58 | 59 | 60 | 61 | 62 | 66 | 67 | 68 | 74 | 75 | 76 | 77 | 80 | 81 | 82 | 83 | 89 | 90 | 96 | 97 | 98 | 99 | 101 | 102 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/xcuserdata/simonfransson.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/xcuserdata/simonfransson.xcuserdatad/xcschemes/Blue Screen Saver.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 42 | 43 | 49 | 50 | 51 | 52 | 53 | 54 | 60 | 61 | 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /Blue Screen Saver.xcodeproj/xcuserdata/simonfransson.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Blue Screen Saver.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 8D255AC50486D3F9007BF209 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ConfigureSheet.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 141 | 155 | 166 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | -------------------------------------------------------------------------------- /FixedsysTTF.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dessibelle/Blue-Screen-Saver/902086d9bfbf6463a8882bca3b5a46eada568a5d/FixedsysTTF.ttf -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ATSApplicationFontsPath 6 | Fonts 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | $(PRODUCT_BUNDLE_IDENTIFIER) 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | BNDL 21 | CFBundleShortVersionString 22 | 1.0.3 23 | CFBundleSignature 24 | DBbs 25 | CFBundleVersion 26 | 1.0.3 27 | LSApplicationCategoryType 28 | 29 | NSPrincipalClass 30 | BSODSaverView 31 | 32 | 33 | -------------------------------------------------------------------------------- /LucidaConsole.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dessibelle/Blue-Screen-Saver/902086d9bfbf6463a8882bca3b5a46eada568a5d/LucidaConsole.ttf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Blue Screen Saver 2 | 3 | Just a simple screen saver for Mac OS X showing the Windows BSOD (blue screen of death). Randomizes between XP and NT mode. 4 | 5 | [Download](https://www.dropbox.com/s/30upmkpsdkyvjug/Blue-Screen-Saver.saver.zip?dl=1) 6 | -------------------------------------------------------------------------------- /SC_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'SC' target in the 'SC' project. 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /XP.txt: -------------------------------------------------------------------------------- 1 | A problem has been detected and Windows has been shut down to prevent damage 2 | to your computer. 3 | 4 | The problem seems to be caused by the following file: SPCMDCON.SYS 5 | 6 | PAGE_FAULT_IN_NONPAGED_AREAD 7 | 8 | If this is the first time you've seen this stop error screen, 9 | restart your computer. If this screen appears again, follow 10 | these steps: 11 | 12 | Check to make sure any new hardware or software is properly installed. 13 | If this is a new installation, ask you hardware or software manufacturer 14 | for any Windows updates you might need. 15 | 16 | If problems continue, disable or remove any newly installed hardware 17 | or software. Disable BIOS memory options such as caching or shadowing. 18 | If you need to use Safe Mode to remove or disable components, restart 19 | your computer, press F8 to select Advanced Startup Options, and then 20 | select Safe Mode. 21 | 22 | Technical information: 23 | 24 | *** STOP: 0x00000000 (0x00000000, 0x00000000, 0x00000000, 0x00000000) 25 | 26 | 27 | *** SPCMDCON.SES - Address FEBF73D8 base at FBEF6090, DateStamp 3d6dd67c 28 | -------------------------------------------------------------------------------- /blue.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf949 2 | {\fonttbl\f0\fmodern\fcharset0 CourierNewPSMT;\f1\fmodern\fcharset0 CourierNewPS-BoldMT;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh8400\viewkind0 5 | \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural 6 | 7 | \f0\fs24 \cf0 An exception 8 | \f1\b 06 has occured at 0028:C11B3ADC 9 | \f0\b0 in VxD 10 | \f1\b DiskTSD(03) 11 | \f0\b0 + 12 | \f1\b 00001660 13 | \f0\b0 . This was called from 14 | \f1\b 0028:C11B40C8 15 | \f0\b0 in VxD 16 | \f1\b voltrack(04) 17 | \f0\b0 + 18 | \f1\b 00000000 19 | \f0\b0 . It may be possible to continue normally.\ 20 | \ 21 | * Press any key to attempt to continue.\ 22 | * Press CTRL+ALT+RESET to restart your computer. You will lose any unsaved information in all applications.\ 23 | \ 24 | Press any key to continue\ 25 | \ 26 | -\ 27 | \ 28 | A fatal exception 29 | \f1\b 0E 30 | \f0\b0 has occured at 31 | \f1\b 0020:C0011E36 32 | \f0\b0 in VxD 33 | \f1\b VMM(01) 34 | \f0\b0 + 35 | \f1\b 0001BE36 36 | \f0\b0 . The current application will be terminated.\ 37 | \ 38 | \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural 39 | \cf0 * Press any key to terminate the current application.\ 40 | * Press CTRL+ALT+RESET to restart your computer. You will lose any unsaved information in all applications.\ 41 | \ 42 | Press any key to continue\ 43 | } 44 | -------------------------------------------------------------------------------- /bsod1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dessibelle/Blue-Screen-Saver/902086d9bfbf6463a8882bca3b5a46eada568a5d/bsod1280.jpg -------------------------------------------------------------------------------- /en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dessibelle/Blue-Screen-Saver/902086d9bfbf6463a8882bca3b5a46eada568a5d/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dessibelle/Blue-Screen-Saver/902086d9bfbf6463a8882bca3b5a46eada568a5d/thumbnail.png -------------------------------------------------------------------------------- /thumbnail@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dessibelle/Blue-Screen-Saver/902086d9bfbf6463a8882bca3b5a46eada568a5d/thumbnail@2x.png -------------------------------------------------------------------------------- /version.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildVersion 6 | 1 7 | CFBundleShortVersionString 8 | 1.0 9 | CFBundleVersion 10 | 1.0 11 | ProjectName 12 | ScreenSaverTemplate 13 | SourceVersion 14 | 220000 15 | 16 | 17 | --------------------------------------------------------------------------------