├── .gitignore ├── AppCategory.h ├── AppCategory.m ├── AppDelegate.h ├── AppDelegate.m ├── Caffeine.icns ├── Caffeine.png ├── Caffeine.sdef ├── Caffeine.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── tom.mode1 ├── Caffeine_Prefix.pch ├── English.lproj ├── Credits.rtf ├── InfoPlist.strings ├── Localizable.strings └── MainMenu.nib │ ├── designable.nib │ └── keyedobjects.nib ├── Info.plist ├── LCMenuIconView.h ├── LCMenuIconView.m ├── LICENSE ├── README.md ├── active.png ├── highlightactive.png ├── highlighted.png ├── inactive.png └── main.m /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xccheckout 23 | *.xcscmblueprint 24 | 25 | ## Obj-C/Swift specific 26 | *.hmap 27 | *.ipa 28 | *.dSYM.zip 29 | *.dSYM 30 | 31 | # CocoaPods 32 | # 33 | # We recommend against adding the Pods directory to your .gitignore. However 34 | # you should judge for yourself, the pros and cons are mentioned at: 35 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 36 | # 37 | # Pods/ 38 | 39 | # Carthage 40 | # 41 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 42 | # Carthage/Checkouts 43 | 44 | Carthage/Build 45 | 46 | # fastlane 47 | # 48 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 49 | # screenshots whenever they are needed. 50 | # For more information about the recommended setup visit: 51 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 52 | 53 | fastlane/report.xml 54 | fastlane/Preview.html 55 | fastlane/screenshots/**/*.png 56 | fastlane/test_output 57 | 58 | # Code Injection 59 | # 60 | # After new code Injection tools there's a generated folder /iOSInjectionProject 61 | # https://github.com/johnno1962/injectionforxcode 62 | 63 | iOSInjectionProject/ 64 | -------------------------------------------------------------------------------- /AppCategory.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppCategory.h 3 | // Caffeine 4 | // 5 | // Created by Tomas Franzén on 2008-06-04. 6 | // Copyright 2008 Lighthead Software. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface NSApplication (AppCategory) 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /AppCategory.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppCategory.m 3 | // Caffeine 4 | // 5 | // Created by Tomas Franzén on 2008-06-04. 6 | // Copyright 2008 Lighthead Software. All rights reserved. 7 | // 8 | 9 | #import "AppCategory.h" 10 | #import "AppDelegate.h" 11 | 12 | 13 | @implementation NSApplication (AppCategory) 14 | 15 | 16 | - (void)activateCaffeine:(NSScriptCommand*)command { 17 | NSNumber *duration = [[command arguments] objectForKey:@"duration"]; 18 | if(duration) 19 | [[self delegate] activateWithTimeoutDuration:[duration doubleValue]]; 20 | else 21 | [[self delegate] activate]; 22 | } 23 | 24 | - (void)deactivateCaffeine:(NSScriptCommand*)command { 25 | [[self delegate] deactivate]; 26 | } 27 | 28 | - (BOOL)isCaffeineActive { 29 | return [[self delegate] isActive]; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Caffeine 4 | // 5 | // Created by Tomas Franzén on 2006-05-20. 6 | // Copyright 2006 Lighthead Software. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LCMenuIconView.h" 11 | 12 | // Workaround for bug in 64-bit SDK 13 | #ifndef __POWER__ 14 | enum { 15 | OverallAct = 0, /* Delays idle sleep by small amount */ 16 | UsrActivity = 1, /* Delays idle sleep and dimming by timeout time */ 17 | NetActivity = 2, /* Delays idle sleep and power cycling by small amount */ 18 | HDActivity = 3, /* Delays hard drive spindown and idle sleep by small amount */ 19 | IdleActivity = 4 /* Delays idle sleep by timeout time */ 20 | }; 21 | 22 | extern OSErr UpdateSystemActivity(UInt8 activity); 23 | #endif 24 | 25 | 26 | 27 | @interface AppDelegate : NSObject { 28 | BOOL isActive; 29 | BOOL userSessionIsActive; 30 | NSTimer *timer; 31 | NSTimer *timeoutTimer; 32 | 33 | LCMenuIconView *menuView; 34 | IBOutlet NSMenu *menu; 35 | IBOutlet NSWindow *firstTimeWindow; 36 | IBOutlet NSMenuItem *infoMenuItem; 37 | IBOutlet NSMenuItem *infoSeparatorItem; 38 | } 39 | 40 | - (IBAction)showAbout:(id)sender; 41 | - (IBAction)showPreferences:(id)sender; 42 | - (IBAction)activateWithTimeout:(id)sender; 43 | 44 | - (void)activateWithTimeoutDuration:(NSTimeInterval)interval; 45 | - (void)activate; 46 | - (void)deactivate; 47 | - (BOOL)isActive; 48 | - (void)toggleActive:(id)sender; 49 | 50 | - (void)userSessionDidResignActive:(NSNotification *)note; 51 | - (void)userSessionDidBecomeActive:(NSNotification *)note; 52 | @end 53 | -------------------------------------------------------------------------------- /AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // Caffeine 4 | // 5 | // Created by Tomas Franzén on 2006-05-20. 6 | // Copyright 2006 Lighthead Software. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | #import 11 | 12 | 13 | @implementation AppDelegate 14 | 15 | - (id)init { 16 | [super init]; 17 | timer = [[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(timer:) userInfo:nil repeats:YES] retain]; 18 | 19 | // Workaround for a bug in Snow Leopard where Caffeine would prevent the computer from going to sleep when another account was active. 20 | userSessionIsActive = YES; 21 | [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(userSessionDidResignActive:) name:NSWorkspaceSessionDidResignActiveNotification object:nil]; 22 | [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(userSessionDidBecomeActive:) name:NSWorkspaceSessionDidBecomeActiveNotification object:nil]; 23 | 24 | return self; 25 | } 26 | 27 | 28 | - (void)awakeFromNib { 29 | 30 | NSStatusItem *item = [[[NSStatusBar systemStatusBar] statusItemWithLength:30] retain]; 31 | menuView = [[LCMenuIconView alloc] initWithFrame:NSZeroRect]; 32 | [item setView:menuView]; 33 | [menuView setStatusItem:item]; 34 | [menuView setMenu:menu]; 35 | [menuView setAction:@selector(toggleActive:)]; 36 | 37 | [[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:@"SuppressLaunchMessage"]]; 38 | 39 | if(![[NSUserDefaults standardUserDefaults] boolForKey:@"SuppressLaunchMessage"]) 40 | [self showPreferences:nil]; 41 | 42 | if([[NSUserDefaults standardUserDefaults] boolForKey:@"ActivateOnLaunch"]) 43 | [self toggleActive:nil]; 44 | 45 | } 46 | 47 | 48 | - (void)dealloc { 49 | [timer invalidate]; 50 | [timer release]; 51 | [menuView release]; 52 | [timeoutTimer release]; 53 | [super dealloc]; 54 | } 55 | 56 | 57 | - (BOOL)screensaverIsRunning { 58 | NSString *activeAppID = [[[NSWorkspace sharedWorkspace] activeApplication] objectForKey:@"NSApplicationBundleIdentifier"]; 59 | NSArray *bundleIDs = [NSArray arrayWithObjects:@"com.apple.ScreenSaver.Engine", @"com.apple.loginwindow", nil]; 60 | return activeAppID && [bundleIDs containsObject:activeAppID]; 61 | } 62 | 63 | 64 | 65 | 66 | - (void)activateWithTimeoutDuration:(NSTimeInterval)interval { 67 | if(timeoutTimer) [[timeoutTimer autorelease] invalidate]; 68 | timeoutTimer = nil; 69 | if(interval > 0) 70 | timeoutTimer = [[NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(timeoutReached:) userInfo:nil repeats:NO] retain]; 71 | isActive = YES; 72 | [menuView setActive:isActive]; 73 | 74 | NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithDouble:interval ? interval : -1], @"duration", nil]; 75 | [[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.lightheadsw.caffeine.activation" object:nil userInfo:info]; 76 | } 77 | 78 | - (void)activate { 79 | [self activateWithTimeoutDuration:0]; 80 | } 81 | 82 | - (void)deactivate { 83 | isActive = NO; 84 | if(timeoutTimer) [[timeoutTimer autorelease] invalidate]; 85 | timeoutTimer = nil; 86 | [menuView setActive:isActive]; 87 | 88 | [[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.lightheadsw.caffeine.deactivation" object:nil userInfo:nil]; 89 | } 90 | 91 | 92 | 93 | - (IBAction)activateWithTimeout:(id)sender { 94 | int minutes = [(NSMenuItem*)sender tag]; 95 | int seconds = minutes*60; 96 | if(seconds == -60) seconds = 2; 97 | if(minutes) 98 | [self activateWithTimeoutDuration:seconds]; 99 | else 100 | [self activate]; 101 | } 102 | 103 | 104 | 105 | - (void)toggleActive:(id)sender { 106 | if(timeoutTimer) [[timeoutTimer autorelease] invalidate]; 107 | timeoutTimer = nil; 108 | 109 | if(isActive) { 110 | [self deactivate]; 111 | } else { 112 | int defaultMinutesDuration = [[NSUserDefaults standardUserDefaults] integerForKey:@"DefaultDuration"]; 113 | int seconds = defaultMinutesDuration*60; 114 | if(seconds == -60) seconds = 2; 115 | if(defaultMinutesDuration) 116 | [self activateWithTimeoutDuration:seconds]; 117 | else 118 | [self activate]; 119 | } 120 | } 121 | 122 | 123 | - (void)timeoutReached:(NSTimer*)timer { 124 | [self deactivate]; 125 | } 126 | 127 | - (BOOL)isActive { 128 | return isActive; 129 | } 130 | 131 | - (void)userSessionDidResignActive:(NSNotification *)note { 132 | userSessionIsActive = NO; 133 | } 134 | 135 | - (void)userSessionDidBecomeActive:(NSNotification *)note { 136 | userSessionIsActive = YES; 137 | } 138 | 139 | - (IBAction)showAbout:(id)sender { 140 | [NSApp activateIgnoringOtherApps:YES]; 141 | [NSApp orderFrontStandardAboutPanel:self]; 142 | } 143 | 144 | - (IBAction)showPreferences:(id)sender { 145 | [NSApp activateIgnoringOtherApps:YES]; 146 | [firstTimeWindow center]; 147 | [firstTimeWindow makeKeyAndOrderFront:sender]; 148 | } 149 | 150 | 151 | - (void)timer:(NSTimer*)timer { 152 | if(isActive && ![self screensaverIsRunning] && userSessionIsActive) 153 | UpdateSystemActivity(UsrActivity); 154 | } 155 | 156 | 157 | - (LSSharedFileListItemRef)applicationItemInList:(LSSharedFileListRef)list { 158 | NSString *appPath = [[NSBundle mainBundle] bundlePath]; 159 | 160 | NSArray *items = (id)LSSharedFileListCopySnapshot(list, NULL); 161 | for(id item in items) { 162 | LSSharedFileListItemRef itemRef = (LSSharedFileListItemRef)item; 163 | CFURLRef URL = NULL; 164 | if(LSSharedFileListItemResolve(itemRef, 0, &URL, NULL)) continue; 165 | 166 | BOOL matches = [[(NSURL*)URL path] isEqual:appPath]; 167 | CFRelease(URL); 168 | if(matches) 169 | return itemRef; 170 | } 171 | CFRelease(items); 172 | return NULL; 173 | } 174 | 175 | 176 | - (BOOL)startsAtLogin { 177 | LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); 178 | LSSharedFileListItemRef item = [self applicationItemInList:loginItems]; 179 | BOOL starts = (item != NULL); 180 | if(item) CFRelease(item); 181 | CFRelease(loginItems); 182 | return starts; 183 | } 184 | 185 | - (void)setStartsAtLogin:(BOOL)start { 186 | if(start == [self startsAtLogin]) return; 187 | 188 | LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); 189 | 190 | if(start) { 191 | NSString *appPath = [[NSBundle mainBundle] bundlePath]; 192 | CFURLRef appURL = CFURLCreateWithFileSystemPath(NULL, (CFStringRef)appPath, kCFURLPOSIXPathStyle, YES); 193 | LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemLast, NULL, NULL, appURL, NULL, NULL); 194 | CFRelease(appURL); 195 | }else{ 196 | LSSharedFileListItemRef item = [self applicationItemInList:loginItems]; 197 | if(item) { 198 | LSSharedFileListItemRemove(loginItems, item); 199 | CFRelease(item); 200 | } 201 | 202 | } 203 | 204 | CFRelease(loginItems); 205 | } 206 | 207 | - (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag { 208 | [self showPreferences:nil]; 209 | return NO; 210 | } 211 | 212 | - (void)menuNeedsUpdate:(NSMenu *)m { 213 | if(isActive) { 214 | [infoMenuItem setHidden:NO]; 215 | [infoSeparatorItem setHidden:NO]; 216 | if(timeoutTimer) { 217 | NSTimeInterval left = [[timeoutTimer fireDate] timeIntervalSinceNow]; 218 | if(left >= 3600) 219 | [infoMenuItem setTitle:[NSString stringWithFormat:@"%02d:%02d left", (int)(left/3600), (int)(((int)left%3600)/60)]]; 220 | else if(left >= 60) 221 | [infoMenuItem setTitle:[NSString stringWithFormat:@"%d minutes left", (int)(left/60)]]; 222 | else 223 | [infoMenuItem setTitle:[NSString stringWithFormat:@"%d seconds left", (int)left]]; 224 | }else{ 225 | [infoMenuItem setTitle:@"Caffeine is active"]; 226 | } 227 | }else{ 228 | [infoMenuItem setHidden:YES]; 229 | [infoSeparatorItem setHidden:YES]; 230 | } 231 | } 232 | 233 | @end 234 | -------------------------------------------------------------------------------- /Caffeine.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/Caffeine.icns -------------------------------------------------------------------------------- /Caffeine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/Caffeine.png -------------------------------------------------------------------------------- /Caffeine.sdef: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 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 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /Caffeine.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; }; 11 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 12 | 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 13 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 14 | E21ED3D70C0B5EF100184D93 /* active.png in Resources */ = {isa = PBXBuildFile; fileRef = E21ED3D40C0B5EF100184D93 /* active.png */; }; 15 | E21ED3D90C0B5EF100184D93 /* inactive.png in Resources */ = {isa = PBXBuildFile; fileRef = E21ED3D60C0B5EF100184D93 /* inactive.png */; }; 16 | E26E9A8C0DF6E32500560CC1 /* Caffeine.sdef in Resources */ = {isa = PBXBuildFile; fileRef = E26E99B10DF6D65C00560CC1 /* Caffeine.sdef */; }; 17 | E26E9A910DF6E33200560CC1 /* AppCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = E26E99CC0DF6D83B00560CC1 /* AppCategory.m */; }; 18 | E2C558291050A00B0087103D /* LCMenuIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = E2C558281050A00B0087103D /* LCMenuIconView.m */; }; 19 | E2C558F31050ACD30087103D /* highlightactive.png in Resources */ = {isa = PBXBuildFile; fileRef = E2C558F21050ACD30087103D /* highlightactive.png */; }; 20 | E2C558FB1050ACFC0087103D /* highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = E2C558FA1050ACFC0087103D /* highlighted.png */; }; 21 | E2C559DB1050B7ED0087103D /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2C559DA1050B7ED0087103D /* CoreServices.framework */; }; 22 | E2DE1BF30A1E7FAF00997829 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E2DE1BF20A1E7FAF00997829 /* AppDelegate.m */; }; 23 | E2DE1C470A1E8BF300997829 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = E2DE1C450A1E8BF300997829 /* Credits.rtf */; }; 24 | E2DE1C520A1E96B000997829 /* Caffeine.icns in Resources */ = {isa = PBXBuildFile; fileRef = E2DE1C510A1E96B000997829 /* Caffeine.icns */; }; 25 | E2DE1CB40A1F38A500997829 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E2DE1CB20A1F38A500997829 /* Localizable.strings */; }; 26 | /* End PBXBuildFile section */ 27 | 28 | /* Begin PBXFileReference section */ 29 | 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 30 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 31 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 32 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 33 | 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; 34 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 35 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 36 | 32CA4F630368D1EE00C91783 /* Caffeine_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Caffeine_Prefix.pch; sourceTree = ""; }; 37 | 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 38 | 8D1107320486CEB800E47090 /* Caffeine.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Caffeine.app; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | E21ED3D40C0B5EF100184D93 /* active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = active.png; sourceTree = ""; }; 40 | E21ED3D60C0B5EF100184D93 /* inactive.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = inactive.png; sourceTree = ""; }; 41 | E26E99B10DF6D65C00560CC1 /* Caffeine.sdef */ = {isa = PBXFileReference; explicitFileType = text.xml; fileEncoding = 4; path = Caffeine.sdef; sourceTree = ""; }; 42 | E26E99CB0DF6D83B00560CC1 /* AppCategory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppCategory.h; sourceTree = ""; }; 43 | E26E99CC0DF6D83B00560CC1 /* AppCategory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppCategory.m; sourceTree = ""; }; 44 | E2C558271050A00B0087103D /* LCMenuIconView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCMenuIconView.h; sourceTree = ""; }; 45 | E2C558281050A00B0087103D /* LCMenuIconView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCMenuIconView.m; sourceTree = ""; }; 46 | E2C558F21050ACD30087103D /* highlightactive.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlightactive.png; sourceTree = ""; }; 47 | E2C558FA1050ACFC0087103D /* highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlighted.png; sourceTree = ""; }; 48 | E2C559DA1050B7ED0087103D /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 49 | E2DE1BF10A1E7FAF00997829 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 50 | E2DE1BF20A1E7FAF00997829 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 51 | E2DE1C460A1E8BF300997829 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = ""; }; 52 | E2DE1C510A1E96B000997829 /* Caffeine.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Caffeine.icns; sourceTree = ""; }; 53 | E2DE1CB50A1F38AB00997829 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; 54 | /* End PBXFileReference section */ 55 | 56 | /* Begin PBXFrameworksBuildPhase section */ 57 | 8D11072E0486CEB800E47090 /* Frameworks */ = { 58 | isa = PBXFrameworksBuildPhase; 59 | buildActionMask = 2147483647; 60 | files = ( 61 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, 62 | E2C559DB1050B7ED0087103D /* CoreServices.framework in Frameworks */, 63 | ); 64 | runOnlyForDeploymentPostprocessing = 0; 65 | }; 66 | /* End PBXFrameworksBuildPhase section */ 67 | 68 | /* Begin PBXGroup section */ 69 | 080E96DDFE201D6D7F000001 /* Classes */ = { 70 | isa = PBXGroup; 71 | children = ( 72 | E2DE1BF10A1E7FAF00997829 /* AppDelegate.h */, 73 | E2DE1BF20A1E7FAF00997829 /* AppDelegate.m */, 74 | E2C558271050A00B0087103D /* LCMenuIconView.h */, 75 | E2C558281050A00B0087103D /* LCMenuIconView.m */, 76 | ); 77 | name = Classes; 78 | sourceTree = ""; 79 | }; 80 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { 81 | isa = PBXGroup; 82 | children = ( 83 | E2C559DA1050B7ED0087103D /* CoreServices.framework */, 84 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, 85 | ); 86 | name = "Linked Frameworks"; 87 | sourceTree = ""; 88 | }; 89 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { 90 | isa = PBXGroup; 91 | children = ( 92 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 93 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, 94 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */, 95 | ); 96 | name = "Other Frameworks"; 97 | sourceTree = ""; 98 | }; 99 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 100 | isa = PBXGroup; 101 | children = ( 102 | 8D1107320486CEB800E47090 /* Caffeine.app */, 103 | ); 104 | name = Products; 105 | sourceTree = ""; 106 | }; 107 | 29B97314FDCFA39411CA2CEA /* Caffeine */ = { 108 | isa = PBXGroup; 109 | children = ( 110 | 080E96DDFE201D6D7F000001 /* Classes */, 111 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 112 | 29B97317FDCFA39411CA2CEA /* Resources */, 113 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 114 | 19C28FACFE9D520D11CA2CBB /* Products */, 115 | ); 116 | name = Caffeine; 117 | sourceTree = ""; 118 | }; 119 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 120 | isa = PBXGroup; 121 | children = ( 122 | 32CA4F630368D1EE00C91783 /* Caffeine_Prefix.pch */, 123 | 29B97316FDCFA39411CA2CEA /* main.m */, 124 | ); 125 | name = "Other Sources"; 126 | sourceTree = ""; 127 | }; 128 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 129 | isa = PBXGroup; 130 | children = ( 131 | E21ED3D40C0B5EF100184D93 /* active.png */, 132 | E2C558FA1050ACFC0087103D /* highlighted.png */, 133 | E21ED3D60C0B5EF100184D93 /* inactive.png */, 134 | E2C558F21050ACD30087103D /* highlightactive.png */, 135 | E2DE1C450A1E8BF300997829 /* Credits.rtf */, 136 | E2DE1CB20A1F38A500997829 /* Localizable.strings */, 137 | E2DE1C510A1E96B000997829 /* Caffeine.icns */, 138 | E26E99B10DF6D65C00560CC1 /* Caffeine.sdef */, 139 | 8D1107310486CEB800E47090 /* Info.plist */, 140 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 141 | 29B97318FDCFA39411CA2CEA /* MainMenu.nib */, 142 | E26E99CB0DF6D83B00560CC1 /* AppCategory.h */, 143 | E26E99CC0DF6D83B00560CC1 /* AppCategory.m */, 144 | ); 145 | name = Resources; 146 | sourceTree = ""; 147 | }; 148 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 149 | isa = PBXGroup; 150 | children = ( 151 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 152 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, 153 | ); 154 | name = Frameworks; 155 | sourceTree = ""; 156 | }; 157 | /* End PBXGroup section */ 158 | 159 | /* Begin PBXNativeTarget section */ 160 | 8D1107260486CEB800E47090 /* Caffeine */ = { 161 | isa = PBXNativeTarget; 162 | buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Caffeine" */; 163 | buildPhases = ( 164 | 8D1107290486CEB800E47090 /* Resources */, 165 | 8D11072C0486CEB800E47090 /* Sources */, 166 | 8D11072E0486CEB800E47090 /* Frameworks */, 167 | ); 168 | buildRules = ( 169 | ); 170 | dependencies = ( 171 | ); 172 | name = Caffeine; 173 | productInstallPath = "$(HOME)/Applications"; 174 | productName = Caffeine; 175 | productReference = 8D1107320486CEB800E47090 /* Caffeine.app */; 176 | productType = "com.apple.product-type.application"; 177 | }; 178 | /* End PBXNativeTarget section */ 179 | 180 | /* Begin PBXProject section */ 181 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 182 | isa = PBXProject; 183 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Caffeine" */; 184 | compatibilityVersion = "Xcode 3.2"; 185 | developmentRegion = English; 186 | hasScannedForEncodings = 1; 187 | knownRegions = ( 188 | English, 189 | Japanese, 190 | French, 191 | German, 192 | sv, 193 | ); 194 | mainGroup = 29B97314FDCFA39411CA2CEA /* Caffeine */; 195 | projectDirPath = ""; 196 | projectRoot = ""; 197 | targets = ( 198 | 8D1107260486CEB800E47090 /* Caffeine */, 199 | ); 200 | }; 201 | /* End PBXProject section */ 202 | 203 | /* Begin PBXResourcesBuildPhase section */ 204 | 8D1107290486CEB800E47090 /* Resources */ = { 205 | isa = PBXResourcesBuildPhase; 206 | buildActionMask = 2147483647; 207 | files = ( 208 | 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */, 209 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, 210 | E2DE1C470A1E8BF300997829 /* Credits.rtf in Resources */, 211 | E2DE1C520A1E96B000997829 /* Caffeine.icns in Resources */, 212 | E2DE1CB40A1F38A500997829 /* Localizable.strings in Resources */, 213 | E21ED3D70C0B5EF100184D93 /* active.png in Resources */, 214 | E21ED3D90C0B5EF100184D93 /* inactive.png in Resources */, 215 | E26E9A8C0DF6E32500560CC1 /* Caffeine.sdef in Resources */, 216 | E2C558F31050ACD30087103D /* highlightactive.png in Resources */, 217 | E2C558FB1050ACFC0087103D /* highlighted.png in Resources */, 218 | ); 219 | runOnlyForDeploymentPostprocessing = 0; 220 | }; 221 | /* End PBXResourcesBuildPhase section */ 222 | 223 | /* Begin PBXSourcesBuildPhase section */ 224 | 8D11072C0486CEB800E47090 /* Sources */ = { 225 | isa = PBXSourcesBuildPhase; 226 | buildActionMask = 2147483647; 227 | files = ( 228 | 8D11072D0486CEB800E47090 /* main.m in Sources */, 229 | E2DE1BF30A1E7FAF00997829 /* AppDelegate.m in Sources */, 230 | E26E9A910DF6E33200560CC1 /* AppCategory.m in Sources */, 231 | E2C558291050A00B0087103D /* LCMenuIconView.m in Sources */, 232 | ); 233 | runOnlyForDeploymentPostprocessing = 0; 234 | }; 235 | /* End PBXSourcesBuildPhase section */ 236 | 237 | /* Begin PBXVariantGroup section */ 238 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { 239 | isa = PBXVariantGroup; 240 | children = ( 241 | 089C165DFE840E0CC02AAC07 /* English */, 242 | ); 243 | name = InfoPlist.strings; 244 | sourceTree = ""; 245 | }; 246 | 29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = { 247 | isa = PBXVariantGroup; 248 | children = ( 249 | 29B97319FDCFA39411CA2CEA /* English */, 250 | ); 251 | name = MainMenu.nib; 252 | sourceTree = ""; 253 | }; 254 | E2DE1C450A1E8BF300997829 /* Credits.rtf */ = { 255 | isa = PBXVariantGroup; 256 | children = ( 257 | E2DE1C460A1E8BF300997829 /* English */, 258 | ); 259 | name = Credits.rtf; 260 | sourceTree = ""; 261 | }; 262 | E2DE1CB20A1F38A500997829 /* Localizable.strings */ = { 263 | isa = PBXVariantGroup; 264 | children = ( 265 | E2DE1CB50A1F38AB00997829 /* English */, 266 | ); 267 | name = Localizable.strings; 268 | sourceTree = ""; 269 | }; 270 | /* End PBXVariantGroup section */ 271 | 272 | /* Begin XCBuildConfiguration section */ 273 | C01FCF4B08A954540054247B /* Debug */ = { 274 | isa = XCBuildConfiguration; 275 | buildSettings = { 276 | ARCHS = "$(NATIVE_ARCH_ACTUAL)"; 277 | COPY_PHASE_STRIP = NO; 278 | GCC_DYNAMIC_NO_PIC = NO; 279 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 280 | GCC_OPTIMIZATION_LEVEL = 0; 281 | INFOPLIST_FILE = Info.plist; 282 | INSTALL_PATH = "$(HOME)/Applications"; 283 | PRODUCT_NAME = Caffeine; 284 | SDKROOT = macosx10.6; 285 | WRAPPER_EXTENSION = app; 286 | }; 287 | name = Debug; 288 | }; 289 | C01FCF4C08A954540054247B /* Release */ = { 290 | isa = XCBuildConfiguration; 291 | buildSettings = { 292 | ARCHS = ( 293 | i386, 294 | ppc, 295 | ppc64, 296 | x86_64, 297 | ); 298 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 299 | INFOPLIST_FILE = Info.plist; 300 | INSTALL_PATH = "$(HOME)/Applications"; 301 | PRODUCT_NAME = Caffeine; 302 | SDKROOT = macosx10.6; 303 | WRAPPER_EXTENSION = app; 304 | }; 305 | name = Release; 306 | }; 307 | C01FCF4F08A954540054247B /* Debug */ = { 308 | isa = XCBuildConfiguration; 309 | buildSettings = { 310 | ARCHS = "$(NATIVE_ARCH_ACTUAL)"; 311 | CODE_SIGN_IDENTITY = "Don't Code Sign"; 312 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 313 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 314 | GCC_WARN_UNUSED_VARIABLE = YES; 315 | MACOSX_DEPLOYMENT_TARGET = 10.6; 316 | PREBINDING = NO; 317 | SDKROOT = macosx10.5; 318 | }; 319 | name = Debug; 320 | }; 321 | C01FCF5008A954540054247B /* Release */ = { 322 | isa = XCBuildConfiguration; 323 | buildSettings = { 324 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 325 | CODE_SIGN_IDENTITY = "Don't Code Sign"; 326 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 327 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 328 | GCC_WARN_UNUSED_VARIABLE = YES; 329 | MACOSX_DEPLOYMENT_TARGET = 10.6; 330 | PREBINDING = NO; 331 | SDKROOT = macosx10.5; 332 | }; 333 | name = Release; 334 | }; 335 | E21D244412BD98B700277F2E /* App Store Release */ = { 336 | isa = XCBuildConfiguration; 337 | buildSettings = { 338 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 339 | CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Lighthead Software"; 340 | COPY_PHASE_STRIP = NO; 341 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 342 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 343 | GCC_WARN_UNUSED_VARIABLE = YES; 344 | MACOSX_DEPLOYMENT_TARGET = 10.6; 345 | PREBINDING = NO; 346 | SDKROOT = macosx10.6; 347 | }; 348 | name = "App Store Release"; 349 | }; 350 | E21D244512BD98B700277F2E /* App Store Release */ = { 351 | isa = XCBuildConfiguration; 352 | buildSettings = { 353 | INFOPLIST_FILE = Info.plist; 354 | INSTALL_PATH = "$(HOME)/Applications"; 355 | PRODUCT_NAME = Caffeine; 356 | SDKROOT = macosx10.6; 357 | }; 358 | name = "App Store Release"; 359 | }; 360 | /* End XCBuildConfiguration section */ 361 | 362 | /* Begin XCConfigurationList section */ 363 | C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Caffeine" */ = { 364 | isa = XCConfigurationList; 365 | buildConfigurations = ( 366 | C01FCF4B08A954540054247B /* Debug */, 367 | C01FCF4C08A954540054247B /* Release */, 368 | E21D244512BD98B700277F2E /* App Store Release */, 369 | ); 370 | defaultConfigurationIsVisible = 0; 371 | defaultConfigurationName = Release; 372 | }; 373 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Caffeine" */ = { 374 | isa = XCConfigurationList; 375 | buildConfigurations = ( 376 | C01FCF4F08A954540054247B /* Debug */, 377 | C01FCF5008A954540054247B /* Release */, 378 | E21D244412BD98B700277F2E /* App Store Release */, 379 | ); 380 | defaultConfigurationIsVisible = 0; 381 | defaultConfigurationName = Release; 382 | }; 383 | /* End XCConfigurationList section */ 384 | }; 385 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 386 | } 387 | -------------------------------------------------------------------------------- /Caffeine.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Caffeine.xcodeproj/tom.mode1: -------------------------------------------------------------------------------- 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 | PBXRunSessionModule 76 | Name 77 | Run Log 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 | Description 161 | DefaultDescriptionKey 162 | DockingSystemVisible 163 | 164 | Extension 165 | mode1 166 | FavBarConfig 167 | 168 | PBXProjectModuleGUID 169 | E2DE1C040A1E804A00997829 170 | XCBarModuleItemNames 171 | 172 | XCBarModuleItems 173 | 174 | 175 | FirstTimeWindowDisplayed 176 | 177 | Identifier 178 | com.apple.perspectives.project.mode1 179 | MajorVersion 180 | 31 181 | MinorVersion 182 | 1 183 | Name 184 | Default 185 | Notifications 186 | 187 | OpenEditors 188 | 189 | PerspectiveWidths 190 | 191 | -1 192 | -1 193 | 194 | Perspectives 195 | 196 | 197 | ChosenToolbarItems 198 | 199 | build 200 | build-and-run 201 | run 202 | NSToolbarSpaceItem 203 | debug 204 | build-and-debug 205 | debugger-fix-and-continue 206 | NSToolbarSeparatorItem 207 | clean-target 208 | NSToolbarFlexibleSpaceItem 209 | active-buildstyle-popup 210 | active-target-popup 211 | active-executable-popup 212 | NSToolbarFlexibleSpaceItem 213 | NSToolbarSpaceItem 214 | NSToolbarSpaceItem 215 | servicesModulerun 216 | debugger-show-console-window 217 | NSToolbarSeparatorItem 218 | servicesModulebreakpoints 219 | servicesModuledebug 220 | NSToolbarSeparatorItem 221 | toggle-editor 222 | 223 | ControllerClassBaseName 224 | 225 | IconName 226 | WindowOfProjectWithEditor 227 | Identifier 228 | perspective.project 229 | IsVertical 230 | 231 | Layout 232 | 233 | 234 | ContentConfiguration 235 | 236 | PBXBottomSmartGroupGIDs 237 | 238 | 1C37FBAC04509CD000000102 239 | 1C37FAAC04509CD000000102 240 | 1C08E77C0454961000C914BD 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 | 186 259 | 260 | PBXSmartGroupTreeModuleColumnsKey_v4 261 | 262 | MainColumn 263 | 264 | 265 | PBXSmartGroupTreeModuleOutlineStateKey_v7 266 | 267 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 268 | 269 | 29B97314FDCFA39411CA2CEA 270 | 080E96DDFE201D6D7F000001 271 | 29B97317FDCFA39411CA2CEA 272 | 1C37FBAC04509CD000000102 273 | 1C37FABC05509CD000000102 274 | 275 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 276 | 277 | 278 | 0 279 | 280 | 281 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 282 | {{0, 0}, {186, 678}} 283 | 284 | PBXTopSmartGroupGIDs 285 | 286 | XCIncludePerspectivesSwitch 287 | 288 | XCSharingToken 289 | com.apple.Xcode.GFSharingToken 290 | 291 | GeometryConfiguration 292 | 293 | Frame 294 | {{0, 0}, {203, 696}} 295 | GroupTreeTableConfiguration 296 | 297 | MainColumn 298 | 186 299 | 300 | RubberWindowFrame 301 | 1530 -184 1275 737 1280 -250 1680 1050 302 | 303 | Module 304 | PBXSmartGroupTreeModule 305 | Proportion 306 | 203pt 307 | 308 | 309 | Dock 310 | 311 | 312 | BecomeActive 313 | 314 | ContentConfiguration 315 | 316 | PBXProjectModuleGUID 317 | 1CE0B20306471E060097A5F4 318 | PBXProjectModuleLabel 319 | Info.plist 320 | PBXSplitModuleInNavigatorKey 321 | 322 | Split0 323 | 324 | PBXProjectModuleGUID 325 | 1CE0B20406471E060097A5F4 326 | PBXProjectModuleLabel 327 | Info.plist 328 | _historyCapacity 329 | 0 330 | bookmark 331 | E24AE1190C51333B006898FE 332 | history 333 | 334 | E2DE1C590A1E96D300997829 335 | E2DE1CC70A1F613200997829 336 | E2DE1CDC0A1F951C00997829 337 | E2DE1CE20A1F9E7800997829 338 | E255302C0B8A0E9B00A42456 339 | E21ED3E60C0B65AF00184D93 340 | E25D820E0C3AE7610060A10F 341 | E24C1FE20C465D2B00A8A89D 342 | 343 | prevStack 344 | 345 | E2DE1C0F0A1E806C00997829 346 | E2DE1C5C0A1E96D300997829 347 | E2DE1C5E0A1E96D300997829 348 | E2DE1C6E0A1E983700997829 349 | E2DE1CCD0A1F613200997829 350 | E2DE1CCE0A1F613200997829 351 | E21ED3E80C0B65AF00184D93 352 | 353 | 354 | SplitCount 355 | 1 356 | 357 | StatusBarVisibility 358 | 359 | 360 | GeometryConfiguration 361 | 362 | Frame 363 | {{0, 0}, {1067, 484}} 364 | RubberWindowFrame 365 | 1530 -184 1275 737 1280 -250 1680 1050 366 | 367 | Module 368 | PBXNavigatorGroup 369 | Proportion 370 | 484pt 371 | 372 | 373 | ContentConfiguration 374 | 375 | PBXProjectModuleGUID 376 | 1CE0B20506471E060097A5F4 377 | PBXProjectModuleLabel 378 | Detail 379 | 380 | GeometryConfiguration 381 | 382 | Frame 383 | {{0, 489}, {1067, 207}} 384 | RubberWindowFrame 385 | 1530 -184 1275 737 1280 -250 1680 1050 386 | 387 | Module 388 | XCDetailModule 389 | Proportion 390 | 207pt 391 | 392 | 393 | Proportion 394 | 1067pt 395 | 396 | 397 | Name 398 | Project 399 | ServiceClasses 400 | 401 | XCModuleDock 402 | PBXSmartGroupTreeModule 403 | XCModuleDock 404 | PBXNavigatorGroup 405 | XCDetailModule 406 | 407 | TableOfContents 408 | 409 | E24AE1080C513306006898FE 410 | 1CE0B1FE06471DED0097A5F4 411 | E24AE1090C513306006898FE 412 | 1CE0B20306471E060097A5F4 413 | 1CE0B20506471E060097A5F4 414 | 415 | ToolbarConfiguration 416 | xcode.toolbar.config.default 417 | 418 | 419 | ControllerClassBaseName 420 | 421 | IconName 422 | WindowOfProject 423 | Identifier 424 | perspective.morph 425 | IsVertical 426 | 0 427 | Layout 428 | 429 | 430 | BecomeActive 431 | 1 432 | ContentConfiguration 433 | 434 | PBXBottomSmartGroupGIDs 435 | 436 | 1C37FBAC04509CD000000102 437 | 1C37FAAC04509CD000000102 438 | 1C08E77C0454961000C914BD 439 | 1C37FABC05509CD000000102 440 | 1C37FABC05539CD112110102 441 | E2644B35053B69B200211256 442 | 1C37FABC04509CD000100104 443 | 1CC0EA4004350EF90044410B 444 | 1CC0EA4004350EF90041110B 445 | 446 | PBXProjectModuleGUID 447 | 11E0B1FE06471DED0097A5F4 448 | PBXProjectModuleLabel 449 | Files 450 | PBXProjectStructureProvided 451 | yes 452 | PBXSmartGroupTreeModuleColumnData 453 | 454 | PBXSmartGroupTreeModuleColumnWidthsKey 455 | 456 | 186 457 | 458 | PBXSmartGroupTreeModuleColumnsKey_v4 459 | 460 | MainColumn 461 | 462 | 463 | PBXSmartGroupTreeModuleOutlineStateKey_v7 464 | 465 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 466 | 467 | 29B97314FDCFA39411CA2CEA 468 | 1C37FABC05509CD000000102 469 | 470 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 471 | 472 | 473 | 0 474 | 475 | 476 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 477 | {{0, 0}, {186, 337}} 478 | 479 | PBXTopSmartGroupGIDs 480 | 481 | XCIncludePerspectivesSwitch 482 | 1 483 | XCSharingToken 484 | com.apple.Xcode.GFSharingToken 485 | 486 | GeometryConfiguration 487 | 488 | Frame 489 | {{0, 0}, {203, 355}} 490 | GroupTreeTableConfiguration 491 | 492 | MainColumn 493 | 186 494 | 495 | RubberWindowFrame 496 | 373 269 690 397 0 0 1440 878 497 | 498 | Module 499 | PBXSmartGroupTreeModule 500 | Proportion 501 | 100% 502 | 503 | 504 | Name 505 | Morph 506 | PreferredWidth 507 | 300 508 | ServiceClasses 509 | 510 | XCModuleDock 511 | PBXSmartGroupTreeModule 512 | 513 | TableOfContents 514 | 515 | 11E0B1FE06471DED0097A5F4 516 | 517 | ToolbarConfiguration 518 | xcode.toolbar.config.default.short 519 | 520 | 521 | PerspectivesBarVisible 522 | 523 | ShelfIsVisible 524 | 525 | SourceDescription 526 | file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec' 527 | StatusbarIsVisible 528 | 529 | TimeStamp 530 | 0.0 531 | ToolbarDisplayMode 532 | 2 533 | ToolbarIsVisible 534 | 535 | ToolbarSizeMode 536 | 1 537 | Type 538 | Perspectives 539 | UpdateMessage 540 | 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 '%@'? 541 | WindowJustification 542 | 5 543 | WindowOrderList 544 | 545 | E24AE1150C513306006898FE 546 | E24AE1160C513306006898FE 547 | E2DE1D030A1FDC0F00997829 548 | E24AE1110C513306006898FE 549 | E2DE1C050A1E804A00997829 550 | 1C0AD2B3069F1EA900FABCE6 551 | 1CD10A99069EF8BA00B06720 552 | /Volumes/Data Tank 2/Lighthead/Caffeine/Source/1.0.1/Caffeine.xcodeproj 553 | 554 | WindowString 555 | 1530 -184 1275 737 1280 -250 1680 1050 556 | WindowTools 557 | 558 | 559 | FirstTimeWindowDisplayed 560 | 561 | Identifier 562 | windowTool.build 563 | IsVertical 564 | 565 | Layout 566 | 567 | 568 | Dock 569 | 570 | 571 | ContentConfiguration 572 | 573 | PBXProjectModuleGUID 574 | 1CD0528F0623707200166675 575 | PBXProjectModuleLabel 576 | 577 | StatusBarVisibility 578 | 579 | 580 | GeometryConfiguration 581 | 582 | Frame 583 | {{0, 0}, {500, 218}} 584 | RubberWindowFrame 585 | 461 246 500 500 0 0 1280 778 586 | 587 | Module 588 | PBXNavigatorGroup 589 | Proportion 590 | 218pt 591 | 592 | 593 | ContentConfiguration 594 | 595 | PBXProjectModuleGUID 596 | XCMainBuildResultsModuleGUID 597 | PBXProjectModuleLabel 598 | Build 599 | XCBuildResultsTrigger_Collapse 600 | 1021 601 | XCBuildResultsTrigger_Open 602 | 1011 603 | 604 | GeometryConfiguration 605 | 606 | Frame 607 | {{0, 223}, {500, 236}} 608 | RubberWindowFrame 609 | 461 246 500 500 0 0 1280 778 610 | 611 | Module 612 | PBXBuildResultsModule 613 | Proportion 614 | 236pt 615 | 616 | 617 | Proportion 618 | 459pt 619 | 620 | 621 | Name 622 | Build Results 623 | ServiceClasses 624 | 625 | PBXBuildResultsModule 626 | 627 | StatusbarIsVisible 628 | 629 | TableOfContents 630 | 631 | E2DE1C050A1E804A00997829 632 | E24AE10A0C513306006898FE 633 | 1CD0528F0623707200166675 634 | XCMainBuildResultsModuleGUID 635 | 636 | ToolbarConfiguration 637 | xcode.toolbar.config.build 638 | WindowString 639 | 461 246 500 500 0 0 1280 778 640 | WindowToolGUID 641 | E2DE1C050A1E804A00997829 642 | WindowToolIsVisible 643 | 644 | 645 | 646 | FirstTimeWindowDisplayed 647 | 648 | Identifier 649 | windowTool.debugger 650 | IsVertical 651 | 652 | Layout 653 | 654 | 655 | Dock 656 | 657 | 658 | ContentConfiguration 659 | 660 | Debugger 661 | 662 | HorizontalSplitView 663 | 664 | _collapsingFrameDimension 665 | 0.0 666 | _indexOfCollapsedView 667 | 0 668 | _percentageOfCollapsedView 669 | 0.0 670 | isCollapsed 671 | yes 672 | sizes 673 | 674 | {{0, 0}, {394, 191}} 675 | {{394, 0}, {515, 191}} 676 | 677 | 678 | VerticalSplitView 679 | 680 | _collapsingFrameDimension 681 | 0.0 682 | _indexOfCollapsedView 683 | 0 684 | _percentageOfCollapsedView 685 | 0.0 686 | isCollapsed 687 | yes 688 | sizes 689 | 690 | {{0, 0}, {909, 191}} 691 | {{0, 191}, {909, 212}} 692 | 693 | 694 | 695 | LauncherConfigVersion 696 | 8 697 | PBXProjectModuleGUID 698 | 1C162984064C10D400B95A72 699 | PBXProjectModuleLabel 700 | Debug - GLUTExamples (Underwater) 701 | 702 | GeometryConfiguration 703 | 704 | DebugConsoleDrawerSize 705 | {100, 120} 706 | DebugConsoleVisible 707 | None 708 | DebugConsoleWindowFrame 709 | {{200, 200}, {500, 300}} 710 | DebugSTDIOWindowFrame 711 | {{200, 200}, {500, 300}} 712 | Frame 713 | {{0, 0}, {909, 403}} 714 | RubberWindowFrame 715 | 122 136 909 444 0 0 1280 778 716 | 717 | Module 718 | PBXDebugSessionModule 719 | Proportion 720 | 403pt 721 | 722 | 723 | Proportion 724 | 403pt 725 | 726 | 727 | Name 728 | Debugger 729 | ServiceClasses 730 | 731 | PBXDebugSessionModule 732 | 733 | StatusbarIsVisible 734 | 735 | TableOfContents 736 | 737 | 1CD10A99069EF8BA00B06720 738 | E24AE10B0C513306006898FE 739 | 1C162984064C10D400B95A72 740 | E24AE10C0C513306006898FE 741 | E24AE10D0C513306006898FE 742 | E24AE10E0C513306006898FE 743 | E24AE10F0C513306006898FE 744 | E24AE1100C513306006898FE 745 | E24AE1110C513306006898FE 746 | 747 | ToolbarConfiguration 748 | xcode.toolbar.config.debug 749 | WindowString 750 | 122 136 909 444 0 0 1280 778 751 | WindowToolGUID 752 | 1CD10A99069EF8BA00B06720 753 | WindowToolIsVisible 754 | 755 | 756 | 757 | Identifier 758 | windowTool.find 759 | Layout 760 | 761 | 762 | Dock 763 | 764 | 765 | Dock 766 | 767 | 768 | ContentConfiguration 769 | 770 | PBXProjectModuleGUID 771 | 1CDD528C0622207200134675 772 | PBXProjectModuleLabel 773 | <No Editor> 774 | PBXSplitModuleInNavigatorKey 775 | 776 | Split0 777 | 778 | PBXProjectModuleGUID 779 | 1CD0528D0623707200166675 780 | 781 | SplitCount 782 | 1 783 | 784 | StatusBarVisibility 785 | 1 786 | 787 | GeometryConfiguration 788 | 789 | Frame 790 | {{0, 0}, {781, 167}} 791 | RubberWindowFrame 792 | 62 385 781 470 0 0 1440 878 793 | 794 | Module 795 | PBXNavigatorGroup 796 | Proportion 797 | 781pt 798 | 799 | 800 | Proportion 801 | 50% 802 | 803 | 804 | BecomeActive 805 | 1 806 | ContentConfiguration 807 | 808 | PBXProjectModuleGUID 809 | 1CD0528E0623707200166675 810 | PBXProjectModuleLabel 811 | Project Find 812 | 813 | GeometryConfiguration 814 | 815 | Frame 816 | {{8, 0}, {773, 254}} 817 | RubberWindowFrame 818 | 62 385 781 470 0 0 1440 878 819 | 820 | Module 821 | PBXProjectFindModule 822 | Proportion 823 | 50% 824 | 825 | 826 | Proportion 827 | 428pt 828 | 829 | 830 | Name 831 | Project Find 832 | ServiceClasses 833 | 834 | PBXProjectFindModule 835 | 836 | StatusbarIsVisible 837 | 1 838 | TableOfContents 839 | 840 | 1C530D57069F1CE1000CFCEE 841 | 1C530D58069F1CE1000CFCEE 842 | 1C530D59069F1CE1000CFCEE 843 | 1CDD528C0622207200134675 844 | 1C530D5A069F1CE1000CFCEE 845 | 1CE0B1FE06471DED0097A5F4 846 | 1CD0528E0623707200166675 847 | 848 | WindowString 849 | 62 385 781 470 0 0 1440 878 850 | WindowToolGUID 851 | 1C530D57069F1CE1000CFCEE 852 | WindowToolIsVisible 853 | 0 854 | 855 | 856 | Identifier 857 | MENUSEPARATOR 858 | 859 | 860 | FirstTimeWindowDisplayed 861 | 862 | Identifier 863 | windowTool.debuggerConsole 864 | IsVertical 865 | 866 | Layout 867 | 868 | 869 | Dock 870 | 871 | 872 | ContentConfiguration 873 | 874 | PBXProjectModuleGUID 875 | 1C78EAAC065D492600B07095 876 | PBXProjectModuleLabel 877 | Debugger Console 878 | 879 | GeometryConfiguration 880 | 881 | Frame 882 | {{0, 0}, {440, 358}} 883 | RubberWindowFrame 884 | 164 150 440 400 0 0 1280 778 885 | 886 | Module 887 | PBXDebugCLIModule 888 | Proportion 889 | 358pt 890 | 891 | 892 | Proportion 893 | 359pt 894 | 895 | 896 | Name 897 | Debugger Console 898 | ServiceClasses 899 | 900 | PBXDebugCLIModule 901 | 902 | StatusbarIsVisible 903 | 904 | TableOfContents 905 | 906 | E2DE1D030A1FDC0F00997829 907 | E24AE1120C513306006898FE 908 | 1C78EAAC065D492600B07095 909 | 910 | WindowString 911 | 164 150 440 400 0 0 1280 778 912 | WindowToolGUID 913 | E2DE1D030A1FDC0F00997829 914 | WindowToolIsVisible 915 | 916 | 917 | 918 | FirstTimeWindowDisplayed 919 | 920 | Identifier 921 | windowTool.run 922 | IsVertical 923 | 924 | Layout 925 | 926 | 927 | Dock 928 | 929 | 930 | ContentConfiguration 931 | 932 | LauncherConfigVersion 933 | 3 934 | PBXProjectModuleGUID 935 | 1CD0528B0623707200166675 936 | PBXProjectModuleLabel 937 | Run 938 | Runner 939 | 940 | HorizontalSplitView 941 | 942 | _collapsingFrameDimension 943 | 0.0 944 | _indexOfCollapsedView 945 | 0 946 | _percentageOfCollapsedView 947 | 0.0 948 | isCollapsed 949 | yes 950 | sizes 951 | 952 | {{0, 0}, {366, 168}} 953 | {{0, 173}, {366, 270}} 954 | 955 | 956 | VerticalSplitView 957 | 958 | _collapsingFrameDimension 959 | 0.0 960 | _indexOfCollapsedView 961 | 0 962 | _percentageOfCollapsedView 963 | 0.0 964 | isCollapsed 965 | yes 966 | sizes 967 | 968 | {{0, 0}, {406, 443}} 969 | {{411, 0}, {517, 443}} 970 | 971 | 972 | 973 | 974 | GeometryConfiguration 975 | 976 | Frame 977 | {{0, 0}, {459, 159}} 978 | RubberWindowFrame 979 | 714 398 459 200 0 0 1280 778 980 | 981 | Module 982 | PBXRunSessionModule 983 | Proportion 984 | 159pt 985 | 986 | 987 | Proportion 988 | 159pt 989 | 990 | 991 | Name 992 | Run Log 993 | ServiceClasses 994 | 995 | PBXRunSessionModule 996 | 997 | StatusbarIsVisible 998 | 999 | TableOfContents 1000 | 1001 | 1C0AD2B3069F1EA900FABCE6 1002 | E24AE1130C513306006898FE 1003 | 1CD0528B0623707200166675 1004 | E24AE1140C513306006898FE 1005 | 1006 | ToolbarConfiguration 1007 | xcode.toolbar.config.run 1008 | WindowString 1009 | 714 398 459 200 0 0 1280 778 1010 | WindowToolGUID 1011 | 1C0AD2B3069F1EA900FABCE6 1012 | WindowToolIsVisible 1013 | 1014 | 1015 | 1016 | Identifier 1017 | windowTool.scm 1018 | Layout 1019 | 1020 | 1021 | Dock 1022 | 1023 | 1024 | ContentConfiguration 1025 | 1026 | PBXProjectModuleGUID 1027 | 1C78EAB2065D492600B07095 1028 | PBXProjectModuleLabel 1029 | <No Editor> 1030 | PBXSplitModuleInNavigatorKey 1031 | 1032 | Split0 1033 | 1034 | PBXProjectModuleGUID 1035 | 1C78EAB3065D492600B07095 1036 | 1037 | SplitCount 1038 | 1 1039 | 1040 | StatusBarVisibility 1041 | 1 1042 | 1043 | GeometryConfiguration 1044 | 1045 | Frame 1046 | {{0, 0}, {452, 0}} 1047 | RubberWindowFrame 1048 | 743 379 452 308 0 0 1280 1002 1049 | 1050 | Module 1051 | PBXNavigatorGroup 1052 | Proportion 1053 | 0pt 1054 | 1055 | 1056 | BecomeActive 1057 | 1 1058 | ContentConfiguration 1059 | 1060 | PBXProjectModuleGUID 1061 | 1CD052920623707200166675 1062 | PBXProjectModuleLabel 1063 | SCM 1064 | 1065 | GeometryConfiguration 1066 | 1067 | ConsoleFrame 1068 | {{0, 259}, {452, 0}} 1069 | Frame 1070 | {{0, 7}, {452, 259}} 1071 | RubberWindowFrame 1072 | 743 379 452 308 0 0 1280 1002 1073 | TableConfiguration 1074 | 1075 | Status 1076 | 30 1077 | FileName 1078 | 199 1079 | Path 1080 | 197.09500122070312 1081 | 1082 | TableFrame 1083 | {{0, 0}, {452, 250}} 1084 | 1085 | Module 1086 | PBXCVSModule 1087 | Proportion 1088 | 262pt 1089 | 1090 | 1091 | Proportion 1092 | 266pt 1093 | 1094 | 1095 | Name 1096 | SCM 1097 | ServiceClasses 1098 | 1099 | PBXCVSModule 1100 | 1101 | StatusbarIsVisible 1102 | 1 1103 | TableOfContents 1104 | 1105 | 1C78EAB4065D492600B07095 1106 | 1C78EAB5065D492600B07095 1107 | 1C78EAB2065D492600B07095 1108 | 1CD052920623707200166675 1109 | 1110 | ToolbarConfiguration 1111 | xcode.toolbar.config.scm 1112 | WindowString 1113 | 743 379 452 308 0 0 1280 1002 1114 | 1115 | 1116 | Identifier 1117 | windowTool.breakpoints 1118 | IsVertical 1119 | 0 1120 | Layout 1121 | 1122 | 1123 | Dock 1124 | 1125 | 1126 | BecomeActive 1127 | 1 1128 | ContentConfiguration 1129 | 1130 | PBXBottomSmartGroupGIDs 1131 | 1132 | 1C77FABC04509CD000000102 1133 | 1134 | PBXProjectModuleGUID 1135 | 1CE0B1FE06471DED0097A5F4 1136 | PBXProjectModuleLabel 1137 | Files 1138 | PBXProjectStructureProvided 1139 | no 1140 | PBXSmartGroupTreeModuleColumnData 1141 | 1142 | PBXSmartGroupTreeModuleColumnWidthsKey 1143 | 1144 | 168 1145 | 1146 | PBXSmartGroupTreeModuleColumnsKey_v4 1147 | 1148 | MainColumn 1149 | 1150 | 1151 | PBXSmartGroupTreeModuleOutlineStateKey_v7 1152 | 1153 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 1154 | 1155 | 1C77FABC04509CD000000102 1156 | 1157 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 1158 | 1159 | 1160 | 0 1161 | 1162 | 1163 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 1164 | {{0, 0}, {168, 350}} 1165 | 1166 | PBXTopSmartGroupGIDs 1167 | 1168 | XCIncludePerspectivesSwitch 1169 | 0 1170 | 1171 | GeometryConfiguration 1172 | 1173 | Frame 1174 | {{0, 0}, {185, 368}} 1175 | GroupTreeTableConfiguration 1176 | 1177 | MainColumn 1178 | 168 1179 | 1180 | RubberWindowFrame 1181 | 315 424 744 409 0 0 1440 878 1182 | 1183 | Module 1184 | PBXSmartGroupTreeModule 1185 | Proportion 1186 | 185pt 1187 | 1188 | 1189 | ContentConfiguration 1190 | 1191 | PBXProjectModuleGUID 1192 | 1CA1AED706398EBD00589147 1193 | PBXProjectModuleLabel 1194 | Detail 1195 | 1196 | GeometryConfiguration 1197 | 1198 | Frame 1199 | {{190, 0}, {554, 368}} 1200 | RubberWindowFrame 1201 | 315 424 744 409 0 0 1440 878 1202 | 1203 | Module 1204 | XCDetailModule 1205 | Proportion 1206 | 554pt 1207 | 1208 | 1209 | Proportion 1210 | 368pt 1211 | 1212 | 1213 | MajorVersion 1214 | 2 1215 | MinorVersion 1216 | 0 1217 | Name 1218 | Breakpoints 1219 | ServiceClasses 1220 | 1221 | PBXSmartGroupTreeModule 1222 | XCDetailModule 1223 | 1224 | StatusbarIsVisible 1225 | 1 1226 | TableOfContents 1227 | 1228 | 1CDDB66807F98D9800BB5817 1229 | 1CDDB66907F98D9800BB5817 1230 | 1CE0B1FE06471DED0097A5F4 1231 | 1CA1AED706398EBD00589147 1232 | 1233 | ToolbarConfiguration 1234 | xcode.toolbar.config.breakpoints 1235 | WindowString 1236 | 315 424 744 409 0 0 1440 878 1237 | WindowToolGUID 1238 | 1CDDB66807F98D9800BB5817 1239 | WindowToolIsVisible 1240 | 1 1241 | 1242 | 1243 | Identifier 1244 | windowTool.debugAnimator 1245 | Layout 1246 | 1247 | 1248 | Dock 1249 | 1250 | 1251 | Module 1252 | PBXNavigatorGroup 1253 | Proportion 1254 | 100% 1255 | 1256 | 1257 | Proportion 1258 | 100% 1259 | 1260 | 1261 | Name 1262 | Debug Visualizer 1263 | ServiceClasses 1264 | 1265 | PBXNavigatorGroup 1266 | 1267 | StatusbarIsVisible 1268 | 1 1269 | ToolbarConfiguration 1270 | xcode.toolbar.config.debugAnimator 1271 | WindowString 1272 | 100 100 700 500 0 0 1280 1002 1273 | 1274 | 1275 | Identifier 1276 | windowTool.bookmarks 1277 | Layout 1278 | 1279 | 1280 | Dock 1281 | 1282 | 1283 | Module 1284 | PBXBookmarksModule 1285 | Proportion 1286 | 100% 1287 | 1288 | 1289 | Proportion 1290 | 100% 1291 | 1292 | 1293 | Name 1294 | Bookmarks 1295 | ServiceClasses 1296 | 1297 | PBXBookmarksModule 1298 | 1299 | StatusbarIsVisible 1300 | 0 1301 | WindowString 1302 | 538 42 401 187 0 0 1280 1002 1303 | 1304 | 1305 | Identifier 1306 | windowTool.classBrowser 1307 | Layout 1308 | 1309 | 1310 | Dock 1311 | 1312 | 1313 | BecomeActive 1314 | 1 1315 | ContentConfiguration 1316 | 1317 | OptionsSetName 1318 | Hierarchy, all classes 1319 | PBXProjectModuleGUID 1320 | 1CA6456E063B45B4001379D8 1321 | PBXProjectModuleLabel 1322 | Class Browser - NSObject 1323 | 1324 | GeometryConfiguration 1325 | 1326 | ClassesFrame 1327 | {{0, 0}, {374, 96}} 1328 | ClassesTreeTableConfiguration 1329 | 1330 | PBXClassNameColumnIdentifier 1331 | 208 1332 | PBXClassBookColumnIdentifier 1333 | 22 1334 | 1335 | Frame 1336 | {{0, 0}, {630, 331}} 1337 | MembersFrame 1338 | {{0, 105}, {374, 395}} 1339 | MembersTreeTableConfiguration 1340 | 1341 | PBXMemberTypeIconColumnIdentifier 1342 | 22 1343 | PBXMemberNameColumnIdentifier 1344 | 216 1345 | PBXMemberTypeColumnIdentifier 1346 | 97 1347 | PBXMemberBookColumnIdentifier 1348 | 22 1349 | 1350 | PBXModuleWindowStatusBarHidden2 1351 | 1 1352 | RubberWindowFrame 1353 | 385 179 630 352 0 0 1440 878 1354 | 1355 | Module 1356 | PBXClassBrowserModule 1357 | Proportion 1358 | 332pt 1359 | 1360 | 1361 | Proportion 1362 | 332pt 1363 | 1364 | 1365 | Name 1366 | Class Browser 1367 | ServiceClasses 1368 | 1369 | PBXClassBrowserModule 1370 | 1371 | StatusbarIsVisible 1372 | 0 1373 | TableOfContents 1374 | 1375 | 1C0AD2AF069F1E9B00FABCE6 1376 | 1C0AD2B0069F1E9B00FABCE6 1377 | 1CA6456E063B45B4001379D8 1378 | 1379 | ToolbarConfiguration 1380 | xcode.toolbar.config.classbrowser 1381 | WindowString 1382 | 385 179 630 352 0 0 1440 878 1383 | WindowToolGUID 1384 | 1C0AD2AF069F1E9B00FABCE6 1385 | WindowToolIsVisible 1386 | 0 1387 | 1388 | 1389 | 1390 | 1391 | -------------------------------------------------------------------------------- /Caffeine_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'Caffeine' target in the 'Caffeine' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /English.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 2 | {\fonttbl\f0\fnil\fcharset0 LucidaGrande;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural 5 | 6 | \f0\fs22 \cf0 Prevent your Mac from going to sleep and displaying the screen saver. 7 | \fs12 \ 8 | \ 9 | 10 | \fs22 Application icon by Trevor Kay. Menu bar icons by Adam Schilling. 11 | \fs12 \ 12 | \ 13 | {\field{\*\fldinst{HYPERLINK "http://www.lightheadsw.com/"}}{\fldrslt 14 | \fs22 lightheadsw.com}}} -------------------------------------------------------------------------------- /English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /English.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "TurnOnTooltip" = "Caffeine is OFF.\nClick to prevent your Mac from going to sleep"; 2 | "TurnOffTooltip" = "Caffeine is ON.\nClick to allow your Mac to go to sleep"; -------------------------------------------------------------------------------- /English.lproj/MainMenu.nib/designable.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1050 5 | 10J567 6 | 851 7 | 1038.35 8 | 462.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 851 12 | 13 | 14 | 15 | 16 | 17 | 18 | com.apple.InterfaceBuilder.CocoaPlugin 19 | 20 | 21 | PluginDependencyRecalculationVersion 22 | 23 | 24 | 25 | 26 | 27 | NSApplication 28 | 29 | 30 | 31 | FirstResponder 32 | 33 | 34 | NSApplication 35 | 36 | 37 | Menu 38 | 39 | 40 | 41 | YES 42 | YES 43 | Caffeine is active 44 | 45 | 1048576 46 | 2147483647 47 | 48 | NSImage 49 | NSMenuCheckmark 50 | 51 | 52 | NSImage 53 | NSMenuMixedState 54 | 55 | 56 | 57 | 58 | YES 59 | YES 60 | 61 | 62 | 2147483647 63 | 64 | 65 | 66 | 67 | 68 | About Caffeine 69 | 70 | 1048576 71 | 2147483647 72 | 73 | 74 | 75 | 76 | 77 | Preferences... 78 | 79 | 1048576 80 | 2147483647 81 | 82 | 83 | 84 | 85 | 86 | YES 87 | YES 88 | 89 | 90 | 2147483647 91 | 92 | 93 | 94 | 95 | 96 | Activate for 97 | 98 | 2147483647 99 | 100 | 101 | submenuAction: 102 | 103 | Activate for 104 | 105 | 106 | 107 | Indefinitely 108 | 109 | 2147483647 110 | 111 | 112 | 113 | 114 | 115 | YES 116 | Short (testing) 117 | 118 | 524288 119 | 2147483647 120 | 121 | 122 | -1 123 | 124 | 125 | 126 | YES 127 | 1 minute 128 | 129 | 2147483647 130 | 131 | 132 | 1 133 | 134 | 135 | 136 | 5 minutes 137 | 138 | 2147483647 139 | 140 | 141 | 5 142 | 143 | 144 | 145 | 10 minutes 146 | 147 | 2147483647 148 | 149 | 150 | 10 151 | 152 | 153 | 154 | 15 minutes 155 | 156 | 2147483647 157 | 158 | 159 | 15 160 | 161 | 162 | 163 | 30 minutes 164 | 165 | 2147483647 166 | 167 | 168 | 30 169 | 170 | 171 | 172 | 1 hour 173 | 174 | 2147483647 175 | 176 | 177 | 60 178 | 179 | 180 | 181 | 2 hours 182 | 183 | 2147483647 184 | 185 | 186 | 120 187 | 188 | 189 | 190 | 5 hours 191 | 192 | 2147483647 193 | 194 | 195 | 300 196 | 197 | 198 | 199 | 200 | 201 | 202 | YES 203 | YES 204 | 205 | 206 | 1048576 207 | 2147483647 208 | 209 | 210 | 211 | 212 | 213 | Quit 214 | 215 | 1048576 216 | 2147483647 217 | 218 | 219 | 220 | 221 | YES 222 | 223 | 224 | AppDelegate 225 | 226 | 227 | 7 228 | 2 229 | {{441, 384}, {533, 302}} 230 | 1886912512 231 | Welcome to Caffeine 232 | 233 | NSWindow 234 | 235 | 236 | View 237 | 238 | {1.79769e+308, 1.79769e+308} 239 | {213, 107} 240 | 241 | 242 | 256 243 | 244 | 245 | 246 | 256 247 | {{134, 226}, {382, 56}} 248 | 249 | YES 250 | 251 | 67239424 252 | 205520896 253 | Caffeine is now running. You can find its icon in the right side of your menu bar. Click it to disable automatic sleep, and click it again to go back. 254 | 255 | LucidaGrande 256 | 13 257 | 1044 258 | 259 | 260 | 261 | 6 262 | System 263 | controlColor 264 | 265 | 3 266 | MC42NjY2NjY2NjY3AA 267 | 268 | 269 | 270 | 6 271 | System 272 | controlTextColor 273 | 274 | 3 275 | MAA 276 | 277 | 278 | 279 | 280 | 281 | 282 | 256 283 | {{423, 12}, {96, 32}} 284 | 285 | YES 286 | 287 | 67239424 288 | 134217728 289 | Close 290 | 291 | 292 | -2038284033 293 | 1 294 | 295 | 296 | DQ 297 | 200 298 | 25 299 | 300 | 301 | 302 | 303 | 256 304 | 305 | Apple PDF pasteboard type 306 | Apple PICT pasteboard type 307 | Apple PNG pasteboard type 308 | NSFilenamesPboardType 309 | NeXT Encapsulated PostScript v1.2 pasteboard type 310 | NeXT TIFF v4.0 pasteboard type 311 | 312 | {{20, 186}, {96, 96}} 313 | 314 | YES 315 | 316 | 130560 317 | 33554432 318 | 319 | NSImage 320 | NSApplicationIcon 321 | 322 | 0 323 | 0 324 | 0 325 | NO 326 | 327 | YES 328 | 329 | 330 | 331 | 292 332 | {{135, 96}, {301, 18}} 333 | 334 | YES 335 | 336 | 67239424 337 | 0 338 | Show this message when starting Caffeine 339 | 340 | 341 | 1211912703 342 | 2 343 | 344 | NSImage 345 | NSSwitch 346 | 347 | 348 | NSSwitch 349 | 350 | 351 | 352 | 200 353 | 25 354 | 355 | 356 | 357 | 358 | 256 359 | {{137, 181}, {376, 37}} 360 | 361 | YES 362 | 363 | 67239424 364 | 205520896 365 | Right-click (or ⌘-click) the menu bar icon to show the Caffeine menu. 366 | 367 | LucidaGrande-Bold 368 | 13 369 | 16 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 292 379 | {{135, 142}, {266, 18}} 380 | 381 | YES 382 | 383 | 67239424 384 | 0 385 | Automatically start Caffeine at login 386 | 387 | 388 | 1211912703 389 | 2 390 | 391 | 392 | 393 | 394 | 200 395 | 25 396 | 397 | 398 | 399 | 400 | 268 401 | {{251, 59}, {119, 26}} 402 | 403 | YES 404 | 405 | -2076049856 406 | 2048 407 | 408 | 409 | 109199615 410 | 129 411 | 412 | 413 | 400 414 | 75 415 | 416 | 417 | Indefinitely 418 | 419 | 2147483647 420 | 1 421 | 422 | 423 | _popUpItemAction: 424 | 425 | 426 | YES 427 | 428 | OtherViews 429 | 430 | 431 | 432 | 433 | YES 434 | Short (testing) 435 | 436 | 524288 437 | 2147483647 438 | 439 | 440 | _popUpItemAction: 441 | -1 442 | 443 | 444 | 445 | 446 | YES 447 | 1 minute 448 | 449 | 2147483647 450 | 451 | 452 | _popUpItemAction: 453 | 1 454 | 455 | 456 | 457 | 458 | 5 minutes 459 | 460 | 2147483647 461 | 462 | 463 | _popUpItemAction: 464 | 5 465 | 466 | 467 | 468 | 469 | 10 minutes 470 | 471 | 2147483647 472 | 473 | 474 | _popUpItemAction: 475 | 10 476 | 477 | 478 | 479 | 480 | 15 minutes 481 | 482 | 2147483647 483 | 484 | 485 | _popUpItemAction: 486 | 15 487 | 488 | 489 | 490 | 491 | 30 minutes 492 | 493 | 2147483647 494 | 495 | 496 | _popUpItemAction: 497 | 30 498 | 499 | 500 | 501 | 502 | 1 hour 503 | 504 | 2147483647 505 | 506 | 507 | _popUpItemAction: 508 | 60 509 | 510 | 511 | 512 | 513 | 2 hours 514 | 515 | 2147483647 516 | 517 | 518 | _popUpItemAction: 519 | 120 520 | 521 | 522 | 523 | 524 | 5 hours 525 | 526 | 2147483647 527 | 528 | 529 | _popUpItemAction: 530 | 300 531 | 532 | 533 | 534 | 535 | 1 536 | YES 537 | YES 538 | 2 539 | 540 | 541 | 542 | 543 | 268 544 | {{137, 65}, {112, 17}} 545 | 546 | YES 547 | 548 | 68288064 549 | 272630784 550 | Default duration: 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 292 560 | {{135, 119}, {358, 18}} 561 | 562 | YES 563 | 564 | 67239424 565 | 0 566 | Activate Caffeine at launch 567 | 568 | 569 | 1211912703 570 | 2 571 | 572 | 573 | 574 | 575 | 200 576 | 25 577 | 578 | 579 | 580 | 581 | 268 582 | {{14, 12}, {96, 32}} 583 | 584 | YES 585 | 586 | 67239424 587 | 134217728 588 | Quit 589 | 590 | 591 | -2038284033 592 | 129 593 | 594 | 595 | 200 596 | 25 597 | 598 | 599 | 600 | {533, 302} 601 | 602 | 603 | {{0, 0}, {1920, 1178}} 604 | {213, 129} 605 | {1.79769e+308, 1.79769e+308} 606 | 607 | 608 | YES 609 | 610 | 611 | 612 | 613 | 614 | 615 | terminate: 616 | 617 | 618 | 619 | 211 620 | 621 | 622 | 623 | showAbout: 624 | 625 | 626 | 627 | 219 628 | 629 | 630 | 631 | orderOut: 632 | 633 | 634 | 635 | 227 636 | 637 | 638 | 639 | firstTimeWindow 640 | 641 | 642 | 643 | 228 644 | 645 | 646 | 647 | showPreferences: 648 | 649 | 650 | 651 | 244 652 | 653 | 654 | 655 | value: values.SuppressLaunchMessage 656 | 657 | 658 | 659 | 660 | 661 | value: values.SuppressLaunchMessage 662 | value 663 | values.SuppressLaunchMessage 664 | 665 | NSValueTransformerName 666 | NSNegateBoolean 667 | 668 | 2 669 | 670 | 671 | 246 672 | 673 | 674 | 675 | activateWithTimeout: 676 | 677 | 678 | 679 | 267 680 | 681 | 682 | 683 | activateWithTimeout: 684 | 685 | 686 | 687 | 268 688 | 689 | 690 | 691 | activateWithTimeout: 692 | 693 | 694 | 695 | 269 696 | 697 | 698 | 699 | activateWithTimeout: 700 | 701 | 702 | 703 | 270 704 | 705 | 706 | 707 | activateWithTimeout: 708 | 709 | 710 | 711 | 271 712 | 713 | 714 | 715 | activateWithTimeout: 716 | 717 | 718 | 719 | 272 720 | 721 | 722 | 723 | activateWithTimeout: 724 | 725 | 726 | 727 | 273 728 | 729 | 730 | 731 | activateWithTimeout: 732 | 733 | 734 | 735 | 291 736 | 737 | 738 | 739 | activateWithTimeout: 740 | 741 | 742 | 743 | 293 744 | 745 | 746 | 747 | selectedTag: values.DefaultDuration 748 | 749 | 750 | 751 | 752 | 753 | selectedTag: values.DefaultDuration 754 | selectedTag 755 | values.DefaultDuration 756 | 2 757 | 758 | 759 | 310 760 | 761 | 762 | 763 | activateWithTimeout: 764 | 765 | 766 | 767 | 314 768 | 769 | 770 | 771 | menu 772 | 773 | 774 | 775 | 338 776 | 777 | 778 | 779 | delegate 780 | 781 | 782 | 783 | 339 784 | 785 | 786 | 787 | value: values.ActivateOnLaunch 788 | 789 | 790 | 791 | 792 | 793 | value: values.ActivateOnLaunch 794 | value 795 | values.ActivateOnLaunch 796 | 2 797 | 798 | 799 | 342 800 | 801 | 802 | 803 | value: startsAtLogin 804 | 805 | 806 | 807 | 808 | 809 | value: startsAtLogin 810 | value 811 | startsAtLogin 812 | 2 813 | 814 | 815 | 343 816 | 817 | 818 | 819 | terminate: 820 | 821 | 822 | 823 | 348 824 | 825 | 826 | 827 | showAbout: 828 | 829 | 830 | 831 | 350 832 | 833 | 834 | 835 | infoMenuItem 836 | 837 | 838 | 839 | 354 840 | 841 | 842 | 843 | infoSeparatorItem 844 | 845 | 846 | 847 | 355 848 | 849 | 850 | 851 | delegate 852 | 853 | 854 | 855 | 356 856 | 857 | 858 | 859 | 860 | 861 | 0 862 | 863 | 864 | 865 | 866 | 867 | -2 868 | 869 | 870 | File's Owner 871 | 872 | 873 | -1 874 | 875 | 876 | First Responder 877 | 878 | 879 | -3 880 | 881 | 882 | Application 883 | 884 | 885 | 206 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | 894 | 895 | 896 | 897 | 898 | Icon Menu 899 | 900 | 901 | 207 902 | 903 | 904 | 905 | 906 | 208 907 | 908 | 909 | 910 | 911 | 212 912 | 913 | 914 | 915 | 916 | 243 917 | 918 | 919 | 920 | 921 | 255 922 | 923 | 924 | 925 | 926 | 927 | 928 | 929 | 257 930 | 931 | 932 | 933 | 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | 258 947 | 948 | 949 | 950 | 951 | 259 952 | 953 | 954 | 955 | 956 | 260 957 | 958 | 959 | 960 | 961 | 262 962 | 963 | 964 | 965 | 966 | 263 967 | 968 | 969 | 970 | 971 | 265 972 | 973 | 974 | 975 | 976 | 266 977 | 978 | 979 | 980 | 981 | 290 982 | 983 | 984 | 985 | 986 | 292 987 | 988 | 989 | 990 | 991 | 313 992 | 993 | 994 | 995 | 996 | 256 997 | 998 | 999 | 1000 | 1001 | 209 1002 | 1003 | 1004 | AppDelegate 1005 | 1006 | 1007 | 220 1008 | 1009 | 1010 | 1011 | 1012 | 1013 | First Time/Preferences 1014 | 1015 | 1016 | 221 1017 | 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | 1025 | 1026 | 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | 223 1034 | 1035 | 1036 | 1037 | 1038 | 1039 | 1040 | 1041 | 225 1042 | 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | 1049 | 229 1050 | 1051 | 1052 | 1053 | 1054 | 1055 | 1056 | 1057 | 235 1058 | 1059 | 1060 | 1061 | 1062 | 1063 | 1064 | 1065 | 237 1066 | 1067 | 1068 | 1069 | 1070 | 1071 | 1072 | 1073 | 239 1074 | 1075 | 1076 | 1077 | 1078 | 1079 | 1080 | 1081 | 294 1082 | 1083 | 1084 | 1085 | 1086 | 1087 | 1088 | 1089 | 311 1090 | 1091 | 1092 | 1093 | 1094 | 1095 | 1096 | 1097 | 241 1098 | 1099 | 1100 | Shared User Defaults Controller 1101 | 1102 | 1103 | 318 1104 | 1105 | 1106 | 1107 | 1108 | 319 1109 | 1110 | 1111 | 1112 | 1113 | 320 1114 | 1115 | 1116 | 1117 | 1118 | 321 1119 | 1120 | 1121 | 1122 | 1123 | 322 1124 | 1125 | 1126 | 1127 | 1128 | 323 1129 | 1130 | 1131 | 1132 | 1133 | 324 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | 1140 | 1141 | 325 1142 | 1143 | 1144 | 1145 | 1146 | 296 1147 | 1148 | 1149 | 1150 | 1151 | 1152 | 1153 | 1154 | 1155 | 1156 | 1157 | 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 315 1164 | 1165 | 1166 | 1167 | 1168 | 308 1169 | 1170 | 1171 | 1172 | 1173 | 307 1174 | 1175 | 1176 | 1177 | 1178 | 306 1179 | 1180 | 1181 | 1182 | 1183 | 305 1184 | 1185 | 1186 | 1187 | 1188 | 304 1189 | 1190 | 1191 | 1192 | 1193 | 303 1194 | 1195 | 1196 | 1197 | 1198 | 302 1199 | 1200 | 1201 | 1202 | 1203 | 301 1204 | 1205 | 1206 | 1207 | 1208 | 300 1209 | 1210 | 1211 | 1212 | 1213 | 326 1214 | 1215 | 1216 | 1217 | 1218 | 1219 | 1220 | 1221 | 327 1222 | 1223 | 1224 | 1225 | 1226 | 344 1227 | 1228 | 1229 | 1230 | 1231 | 1232 | 1233 | 1234 | 345 1235 | 1236 | 1237 | 1238 | 1239 | 349 1240 | 1241 | 1242 | 1243 | 1244 | 353 1245 | 1246 | 1247 | 1248 | 1249 | 1250 | 1251 | com.apple.InterfaceBuilder.CocoaPlugin 1252 | 1253 | {{455, 798}, {181, 133}} 1254 | com.apple.InterfaceBuilder.CocoaPlugin 1255 | 1256 | com.apple.InterfaceBuilder.CocoaPlugin 1257 | 1258 | com.apple.InterfaceBuilder.CocoaPlugin 1259 | 1260 | 1261 | com.apple.InterfaceBuilder.CocoaPlugin 1262 | 1263 | {{447, 251}, {533, 302}} 1264 | com.apple.InterfaceBuilder.CocoaPlugin 1265 | {{447, 251}, {533, 302}} 1266 | 1267 | 1268 | {213, 107} 1269 | com.apple.InterfaceBuilder.CocoaPlugin 1270 | 1271 | com.apple.InterfaceBuilder.CocoaPlugin 1272 | 1273 | com.apple.InterfaceBuilder.CocoaPlugin 1274 | 1275 | P4AAAL+AAABD04AAwkAAAA 1276 | 1277 | 1278 | com.apple.InterfaceBuilder.CocoaPlugin 1279 | 1280 | com.apple.InterfaceBuilder.CocoaPlugin 1281 | 1282 | com.apple.InterfaceBuilder.CocoaPlugin 1283 | 1284 | com.apple.InterfaceBuilder.CocoaPlugin 1285 | 1286 | com.apple.InterfaceBuilder.CocoaPlugin 1287 | 1288 | com.apple.InterfaceBuilder.CocoaPlugin 1289 | 1290 | com.apple.InterfaceBuilder.CocoaPlugin 1291 | 1292 | com.apple.InterfaceBuilder.CocoaPlugin 1293 | 1294 | {{622, 678}, {163, 203}} 1295 | com.apple.InterfaceBuilder.CocoaPlugin 1296 | 1297 | com.apple.InterfaceBuilder.CocoaPlugin 1298 | 1299 | com.apple.InterfaceBuilder.CocoaPlugin 1300 | 1301 | com.apple.InterfaceBuilder.CocoaPlugin 1302 | 1303 | com.apple.InterfaceBuilder.CocoaPlugin 1304 | 1305 | com.apple.InterfaceBuilder.CocoaPlugin 1306 | 1307 | com.apple.InterfaceBuilder.CocoaPlugin 1308 | 1309 | com.apple.InterfaceBuilder.CocoaPlugin 1310 | 1311 | com.apple.InterfaceBuilder.CocoaPlugin 1312 | 1313 | com.apple.InterfaceBuilder.CocoaPlugin 1314 | 1315 | com.apple.InterfaceBuilder.CocoaPlugin 1316 | 1317 | {{687, 133}, {163, 203}} 1318 | com.apple.InterfaceBuilder.CocoaPlugin 1319 | 1320 | com.apple.InterfaceBuilder.CocoaPlugin 1321 | 1322 | com.apple.InterfaceBuilder.CocoaPlugin 1323 | 1324 | com.apple.InterfaceBuilder.CocoaPlugin 1325 | 1326 | com.apple.InterfaceBuilder.CocoaPlugin 1327 | 1328 | com.apple.InterfaceBuilder.CocoaPlugin 1329 | 1330 | com.apple.InterfaceBuilder.CocoaPlugin 1331 | 1332 | com.apple.InterfaceBuilder.CocoaPlugin 1333 | 1334 | com.apple.InterfaceBuilder.CocoaPlugin 1335 | 1336 | com.apple.InterfaceBuilder.CocoaPlugin 1337 | 1338 | com.apple.InterfaceBuilder.CocoaPlugin 1339 | 1340 | com.apple.InterfaceBuilder.CocoaPlugin 1341 | 1342 | com.apple.InterfaceBuilder.CocoaPlugin 1343 | 1344 | com.apple.InterfaceBuilder.CocoaPlugin 1345 | com.apple.InterfaceBuilder.CocoaPlugin 1346 | com.apple.InterfaceBuilder.CocoaPlugin 1347 | com.apple.InterfaceBuilder.CocoaPlugin 1348 | com.apple.InterfaceBuilder.CocoaPlugin 1349 | com.apple.InterfaceBuilder.CocoaPlugin 1350 | com.apple.InterfaceBuilder.CocoaPlugin 1351 | com.apple.InterfaceBuilder.CocoaPlugin 1352 | com.apple.InterfaceBuilder.CocoaPlugin 1353 | 1354 | com.apple.InterfaceBuilder.CocoaPlugin 1355 | com.apple.InterfaceBuilder.CocoaPlugin 1356 | 1357 | P4AAAL+AAABBYAAAwkAAAA 1358 | 1359 | com.apple.InterfaceBuilder.CocoaPlugin 1360 | com.apple.InterfaceBuilder.CocoaPlugin 1361 | 1362 | com.apple.InterfaceBuilder.CocoaPlugin 1363 | 1364 | 1365 | 1366 | 1367 | 1368 | 1369 | 356 1370 | 1371 | 1372 | 1373 | 1374 | AppDelegate 1375 | NSObject 1376 | 1377 | id 1378 | id 1379 | id 1380 | id 1381 | 1382 | 1383 | 1384 | activateWithTimeout: 1385 | id 1386 | 1387 | 1388 | showAbout: 1389 | id 1390 | 1391 | 1392 | showPreferences: 1393 | id 1394 | 1395 | 1396 | toggleActive: 1397 | id 1398 | 1399 | 1400 | 1401 | NSWindow 1402 | NSMenuItem 1403 | NSMenuItem 1404 | NSMenu 1405 | 1406 | 1407 | 1408 | firstTimeWindow 1409 | NSWindow 1410 | 1411 | 1412 | infoMenuItem 1413 | NSMenuItem 1414 | 1415 | 1416 | infoSeparatorItem 1417 | NSMenuItem 1418 | 1419 | 1420 | menu 1421 | NSMenu 1422 | 1423 | 1424 | 1425 | IBProjectSource 1426 | AppDelegate.h 1427 | 1428 | 1429 | 1430 | AppDelegate 1431 | NSObject 1432 | 1433 | IBUserSource 1434 | 1435 | 1436 | 1437 | 1438 | FirstResponder 1439 | NSObject 1440 | 1441 | orderFrontStandardAboutPanel: 1442 | id 1443 | 1444 | 1445 | orderFrontStandardAboutPanel: 1446 | 1447 | orderFrontStandardAboutPanel: 1448 | id 1449 | 1450 | 1451 | 1452 | IBUserSource 1453 | 1454 | 1455 | 1456 | 1457 | NSApplication 1458 | 1459 | IBProjectSource 1460 | AppCategory.h 1461 | 1462 | 1463 | 1464 | NSApplication 1465 | NSResponder 1466 | 1467 | IBUserSource 1468 | 1469 | 1470 | 1471 | 1472 | 1473 | 1474 | NSActionCell 1475 | NSCell 1476 | 1477 | IBFrameworkSource 1478 | AppKit.framework/Headers/NSActionCell.h 1479 | 1480 | 1481 | 1482 | NSApplication 1483 | NSResponder 1484 | 1485 | IBFrameworkSource 1486 | AppKit.framework/Headers/NSApplication.h 1487 | 1488 | 1489 | 1490 | NSApplication 1491 | 1492 | IBFrameworkSource 1493 | AppKit.framework/Headers/NSApplicationScripting.h 1494 | 1495 | 1496 | 1497 | NSApplication 1498 | 1499 | IBFrameworkSource 1500 | AppKit.framework/Headers/NSColorPanel.h 1501 | 1502 | 1503 | 1504 | NSApplication 1505 | 1506 | IBFrameworkSource 1507 | AppKit.framework/Headers/NSHelpManager.h 1508 | 1509 | 1510 | 1511 | NSApplication 1512 | 1513 | IBFrameworkSource 1514 | AppKit.framework/Headers/NSPageLayout.h 1515 | 1516 | 1517 | 1518 | NSApplication 1519 | 1520 | IBFrameworkSource 1521 | AppKit.framework/Headers/NSUserInterfaceItemSearching.h 1522 | 1523 | 1524 | 1525 | NSButton 1526 | NSControl 1527 | 1528 | IBFrameworkSource 1529 | AppKit.framework/Headers/NSButton.h 1530 | 1531 | 1532 | 1533 | NSButtonCell 1534 | NSActionCell 1535 | 1536 | IBFrameworkSource 1537 | AppKit.framework/Headers/NSButtonCell.h 1538 | 1539 | 1540 | 1541 | NSCell 1542 | NSObject 1543 | 1544 | IBFrameworkSource 1545 | AppKit.framework/Headers/NSCell.h 1546 | 1547 | 1548 | 1549 | NSControl 1550 | NSView 1551 | 1552 | IBFrameworkSource 1553 | AppKit.framework/Headers/NSControl.h 1554 | 1555 | 1556 | 1557 | NSController 1558 | NSObject 1559 | 1560 | IBFrameworkSource 1561 | AppKit.framework/Headers/NSController.h 1562 | 1563 | 1564 | 1565 | NSFormatter 1566 | NSObject 1567 | 1568 | IBFrameworkSource 1569 | Foundation.framework/Headers/NSFormatter.h 1570 | 1571 | 1572 | 1573 | NSImageCell 1574 | NSCell 1575 | 1576 | IBFrameworkSource 1577 | AppKit.framework/Headers/NSImageCell.h 1578 | 1579 | 1580 | 1581 | NSImageView 1582 | NSControl 1583 | 1584 | IBFrameworkSource 1585 | AppKit.framework/Headers/NSImageView.h 1586 | 1587 | 1588 | 1589 | NSMenu 1590 | NSObject 1591 | 1592 | IBFrameworkSource 1593 | AppKit.framework/Headers/NSMenu.h 1594 | 1595 | 1596 | 1597 | NSMenuItem 1598 | NSObject 1599 | 1600 | IBFrameworkSource 1601 | AppKit.framework/Headers/NSMenuItem.h 1602 | 1603 | 1604 | 1605 | NSMenuItemCell 1606 | NSButtonCell 1607 | 1608 | IBFrameworkSource 1609 | AppKit.framework/Headers/NSMenuItemCell.h 1610 | 1611 | 1612 | 1613 | NSObject 1614 | 1615 | IBFrameworkSource 1616 | AppKit.framework/Headers/NSAccessibility.h 1617 | 1618 | 1619 | 1620 | NSObject 1621 | 1622 | 1623 | 1624 | NSObject 1625 | 1626 | 1627 | 1628 | NSObject 1629 | 1630 | 1631 | 1632 | NSObject 1633 | 1634 | 1635 | 1636 | NSObject 1637 | 1638 | IBFrameworkSource 1639 | AppKit.framework/Headers/NSDictionaryController.h 1640 | 1641 | 1642 | 1643 | NSObject 1644 | 1645 | IBFrameworkSource 1646 | AppKit.framework/Headers/NSDragging.h 1647 | 1648 | 1649 | 1650 | NSObject 1651 | 1652 | IBFrameworkSource 1653 | AppKit.framework/Headers/NSFontManager.h 1654 | 1655 | 1656 | 1657 | NSObject 1658 | 1659 | IBFrameworkSource 1660 | AppKit.framework/Headers/NSFontPanel.h 1661 | 1662 | 1663 | 1664 | NSObject 1665 | 1666 | IBFrameworkSource 1667 | AppKit.framework/Headers/NSKeyValueBinding.h 1668 | 1669 | 1670 | 1671 | NSObject 1672 | 1673 | 1674 | 1675 | NSObject 1676 | 1677 | IBFrameworkSource 1678 | AppKit.framework/Headers/NSNibLoading.h 1679 | 1680 | 1681 | 1682 | NSObject 1683 | 1684 | IBFrameworkSource 1685 | AppKit.framework/Headers/NSOutlineView.h 1686 | 1687 | 1688 | 1689 | NSObject 1690 | 1691 | IBFrameworkSource 1692 | AppKit.framework/Headers/NSPasteboard.h 1693 | 1694 | 1695 | 1696 | NSObject 1697 | 1698 | IBFrameworkSource 1699 | AppKit.framework/Headers/NSSavePanel.h 1700 | 1701 | 1702 | 1703 | NSObject 1704 | 1705 | IBFrameworkSource 1706 | AppKit.framework/Headers/NSTableView.h 1707 | 1708 | 1709 | 1710 | NSObject 1711 | 1712 | IBFrameworkSource 1713 | AppKit.framework/Headers/NSToolbarItem.h 1714 | 1715 | 1716 | 1717 | NSObject 1718 | 1719 | IBFrameworkSource 1720 | AppKit.framework/Headers/NSView.h 1721 | 1722 | 1723 | 1724 | NSObject 1725 | 1726 | IBFrameworkSource 1727 | Foundation.framework/Headers/NSArchiver.h 1728 | 1729 | 1730 | 1731 | NSObject 1732 | 1733 | IBFrameworkSource 1734 | Foundation.framework/Headers/NSClassDescription.h 1735 | 1736 | 1737 | 1738 | NSObject 1739 | 1740 | IBFrameworkSource 1741 | Foundation.framework/Headers/NSError.h 1742 | 1743 | 1744 | 1745 | NSObject 1746 | 1747 | IBFrameworkSource 1748 | Foundation.framework/Headers/NSFileManager.h 1749 | 1750 | 1751 | 1752 | NSObject 1753 | 1754 | IBFrameworkSource 1755 | Foundation.framework/Headers/NSKeyValueCoding.h 1756 | 1757 | 1758 | 1759 | NSObject 1760 | 1761 | IBFrameworkSource 1762 | Foundation.framework/Headers/NSKeyValueObserving.h 1763 | 1764 | 1765 | 1766 | NSObject 1767 | 1768 | IBFrameworkSource 1769 | Foundation.framework/Headers/NSKeyedArchiver.h 1770 | 1771 | 1772 | 1773 | NSObject 1774 | 1775 | IBFrameworkSource 1776 | Foundation.framework/Headers/NSObject.h 1777 | 1778 | 1779 | 1780 | NSObject 1781 | 1782 | IBFrameworkSource 1783 | Foundation.framework/Headers/NSObjectScripting.h 1784 | 1785 | 1786 | 1787 | NSObject 1788 | 1789 | IBFrameworkSource 1790 | Foundation.framework/Headers/NSPortCoder.h 1791 | 1792 | 1793 | 1794 | NSObject 1795 | 1796 | IBFrameworkSource 1797 | Foundation.framework/Headers/NSRunLoop.h 1798 | 1799 | 1800 | 1801 | NSObject 1802 | 1803 | IBFrameworkSource 1804 | Foundation.framework/Headers/NSScriptClassDescription.h 1805 | 1806 | 1807 | 1808 | NSObject 1809 | 1810 | IBFrameworkSource 1811 | Foundation.framework/Headers/NSScriptKeyValueCoding.h 1812 | 1813 | 1814 | 1815 | NSObject 1816 | 1817 | IBFrameworkSource 1818 | Foundation.framework/Headers/NSScriptObjectSpecifiers.h 1819 | 1820 | 1821 | 1822 | NSObject 1823 | 1824 | IBFrameworkSource 1825 | Foundation.framework/Headers/NSScriptWhoseTests.h 1826 | 1827 | 1828 | 1829 | NSObject 1830 | 1831 | IBFrameworkSource 1832 | Foundation.framework/Headers/NSThread.h 1833 | 1834 | 1835 | 1836 | NSObject 1837 | 1838 | IBFrameworkSource 1839 | Foundation.framework/Headers/NSURL.h 1840 | 1841 | 1842 | 1843 | NSObject 1844 | 1845 | IBFrameworkSource 1846 | Foundation.framework/Headers/NSURLConnection.h 1847 | 1848 | 1849 | 1850 | NSObject 1851 | 1852 | IBFrameworkSource 1853 | Foundation.framework/Headers/NSURLDownload.h 1854 | 1855 | 1856 | 1857 | NSPopUpButton 1858 | NSButton 1859 | 1860 | IBFrameworkSource 1861 | AppKit.framework/Headers/NSPopUpButton.h 1862 | 1863 | 1864 | 1865 | NSPopUpButtonCell 1866 | NSMenuItemCell 1867 | 1868 | IBFrameworkSource 1869 | AppKit.framework/Headers/NSPopUpButtonCell.h 1870 | 1871 | 1872 | 1873 | NSResponder 1874 | 1875 | IBFrameworkSource 1876 | AppKit.framework/Headers/NSInterfaceStyle.h 1877 | 1878 | 1879 | 1880 | NSResponder 1881 | NSObject 1882 | 1883 | IBFrameworkSource 1884 | AppKit.framework/Headers/NSResponder.h 1885 | 1886 | 1887 | 1888 | NSTextField 1889 | NSControl 1890 | 1891 | IBFrameworkSource 1892 | AppKit.framework/Headers/NSTextField.h 1893 | 1894 | 1895 | 1896 | NSTextFieldCell 1897 | NSActionCell 1898 | 1899 | IBFrameworkSource 1900 | AppKit.framework/Headers/NSTextFieldCell.h 1901 | 1902 | 1903 | 1904 | NSUserDefaultsController 1905 | NSController 1906 | 1907 | IBFrameworkSource 1908 | AppKit.framework/Headers/NSUserDefaultsController.h 1909 | 1910 | 1911 | 1912 | NSView 1913 | 1914 | IBFrameworkSource 1915 | AppKit.framework/Headers/NSClipView.h 1916 | 1917 | 1918 | 1919 | NSView 1920 | 1921 | 1922 | 1923 | NSView 1924 | 1925 | IBFrameworkSource 1926 | AppKit.framework/Headers/NSRulerView.h 1927 | 1928 | 1929 | 1930 | NSView 1931 | NSResponder 1932 | 1933 | 1934 | 1935 | NSWindow 1936 | 1937 | IBFrameworkSource 1938 | AppKit.framework/Headers/NSDrawer.h 1939 | 1940 | 1941 | 1942 | NSWindow 1943 | NSResponder 1944 | 1945 | IBFrameworkSource 1946 | AppKit.framework/Headers/NSWindow.h 1947 | 1948 | 1949 | 1950 | NSWindow 1951 | 1952 | IBFrameworkSource 1953 | AppKit.framework/Headers/NSWindowScripting.h 1954 | 1955 | 1956 | 1957 | 1958 | 0 1959 | IBCocoaFramework 1960 | 1961 | com.apple.InterfaceBuilder.CocoaPlugin.macosx 1962 | 1963 | 1964 | 1965 | com.apple.InterfaceBuilder.CocoaPlugin.macosx 1966 | 1967 | 1968 | YES 1969 | ../Caffeine.xcodeproj 1970 | 3 1971 | 1972 | {128, 128} 1973 | {9, 8} 1974 | {7, 2} 1975 | {15, 15} 1976 | 1977 | 1978 | 1979 | -------------------------------------------------------------------------------- /English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | Caffeine.icns 11 | CFBundleIdentifier 12 | com.lightheadsw.caffeine 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | LCaf 21 | CFBundleVersion 22 | 1.1.2 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | LSUIElement 28 | 1 29 | NSAppleScriptEnabled 30 | YES 31 | OSAScriptingDefinition 32 | Caffeine.sdef 33 | LSMinimumSystemVersion 34 | 10.6 35 | CFBundleShortVersionString 36 | 1.1.2 37 | LSApplicationCategoryType 38 | public.app-category.utilities 39 | 40 | 41 | -------------------------------------------------------------------------------- /LCMenuIconView.h: -------------------------------------------------------------------------------- 1 | // 2 | // LCMenuIconView.h 3 | // Caffeine 4 | // 5 | // Created by Tomas Franzén on 2009-09-04. 6 | // Copyright 2009 Lighthead Software. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface LCMenuIconView : NSControl { 13 | BOOL isActive; 14 | BOOL menuIsShown; 15 | 16 | IBOutlet NSMenu *menu; 17 | NSStatusItem *statusItem; 18 | 19 | NSImage *activeImage; 20 | NSImage *inactiveImage; 21 | 22 | NSImage *highlightImage; 23 | NSImage *highlightActiveImage; 24 | 25 | NSTimeInterval lastMouseUp; 26 | 27 | SEL action; 28 | id target; 29 | } 30 | 31 | @property(setter=setActive) BOOL isActive; 32 | @property(retain) NSStatusItem *statusItem; 33 | @property(retain) NSMenu *menu; 34 | @end 35 | -------------------------------------------------------------------------------- /LCMenuIconView.m: -------------------------------------------------------------------------------- 1 | // 2 | // LCMenuIconView.m 3 | // Caffeine 4 | // 5 | // Created by Tomas Franzén on 2009-09-04. 6 | // Copyright 2009 Lighthead Software. All rights reserved. 7 | // 8 | 9 | #import "LCMenuIconView.h" 10 | 11 | 12 | @implementation LCMenuIconView 13 | @synthesize isActive, statusItem, menu; 14 | 15 | - (id)initWithFrame:(NSRect)r { 16 | [super initWithFrame:r]; 17 | activeImage = [[NSImage imageNamed:@"active"] retain]; 18 | inactiveImage = [[NSImage imageNamed:@"inactive"] retain]; 19 | 20 | highlightImage = [[NSImage imageNamed:@"highlighted"] retain]; 21 | highlightActiveImage = [[NSImage imageNamed:@"highlightactive"] retain]; 22 | return self; 23 | } 24 | 25 | 26 | - (void)drawRect:(NSRect)r { 27 | NSImage *i = isActive ? activeImage : inactiveImage; 28 | if(menuIsShown) i = isActive ? highlightActiveImage : highlightImage; 29 | NSRect f = [self bounds]; 30 | NSPoint p = NSMakePoint(f.size.width/2 - [i size].width/2, f.size.height/2 - [i size].height/2 + 1); 31 | 32 | if(menuIsShown) [statusItem drawStatusBarBackgroundInRect:r withHighlight:YES]; 33 | [i drawAtPoint:p fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1]; 34 | } 35 | 36 | 37 | - (void)setActive:(BOOL)flag { 38 | isActive = flag; 39 | [self setNeedsDisplay:YES]; 40 | } 41 | 42 | 43 | - (void)rightMouseDown:(NSEvent*)e { 44 | menuIsShown = YES; 45 | [self setNeedsDisplay:YES]; 46 | [statusItem popUpStatusItemMenu:menu]; 47 | menuIsShown = NO; 48 | [self setNeedsDisplay:YES]; 49 | } 50 | 51 | - (void)mouseDown:(NSEvent*)e { 52 | if([e modifierFlags] & (NSCommandKeyMask | NSControlKeyMask)) 53 | return [self rightMouseDown:e]; 54 | 55 | [NSApp sendAction:action to:target from:self]; 56 | } 57 | 58 | - (void)mouseUp:(NSEvent *)theEvent { 59 | if([NSDate timeIntervalSinceReferenceDate] - lastMouseUp < 0.2) { 60 | [NSApp sendAction:@selector(showPreferences:) to:nil from:nil]; 61 | lastMouseUp = 0; 62 | } else lastMouseUp = [NSDate timeIntervalSinceReferenceDate]; 63 | } 64 | 65 | 66 | 67 | 68 | - (void)setAction:(SEL)a { 69 | action = a; 70 | } 71 | 72 | - (void)setTarget:(id)t { 73 | target = t; 74 | } 75 | 76 | 77 | @end 78 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Tomas Franzén 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # caffeine 2 | Caffeine for Mac by Lighthead Software 3 | -------------------------------------------------------------------------------- /active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/active.png -------------------------------------------------------------------------------- /highlightactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/highlightactive.png -------------------------------------------------------------------------------- /highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/highlighted.png -------------------------------------------------------------------------------- /inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/inactive.png -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomasf/caffeine/4de562161d57dc1de8a102729dddcfb4c2237c1b/main.m --------------------------------------------------------------------------------