├── English.lproj ├── Credits.html ├── InfoPlist.strings └── MainMenu.xib ├── MGTransparentWindow.h ├── MGTransparentWindow.m ├── NSApplication+DockIcon.h ├── NSApplication+DockIcon.m ├── Shady-Info.plist ├── Shady.icns ├── Shady.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── Shady.xccheckout │ └── xcuserdata │ │ └── masa.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── masa.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── Shady.xcscheme │ └── xcschememanagement.plist ├── ShadyAppDelegate.h ├── ShadyAppDelegate.m ├── Shady_Menu_Dark.png ├── Shady_Menu_Dark_Off.png ├── Shady_Menu_Icons.psd ├── Shady_Menu_Light.png ├── Shady_Menu_Light_Off.png ├── Shady_Prefix.pch ├── Shady_Subdued.icns ├── Sparkle.framework ├── Headers ├── Resources ├── Sparkle └── Versions │ ├── A │ ├── Headers │ │ ├── SUAppcast.h │ │ ├── SUAppcastItem.h │ │ ├── SUUpdater.h │ │ ├── SUVersionComparisonProtocol.h │ │ └── Sparkle.h │ ├── Resources │ │ ├── Info.plist │ │ ├── License.txt │ │ ├── SUModelTranslation.plist │ │ ├── SUStatus.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ ├── de.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── en.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── es.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── fr.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── Sparkle.strings │ │ │ └── fr.lproj │ │ ├── fr_CA.lproj │ │ ├── it.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── nl.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── relaunch │ │ ├── ru.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ └── sv.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ └── Sparkle │ └── Current ├── dsa_pub.pem └── main.m /English.lproj/Credits.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Shady 4 | 5 | 6 | 7 |
8 | Soothe your tired eyes
9 |
10 | by Instinctive Code 11 |
12 | 13 |
14 | 15 |
16 | Engineering
17 | Matt Legend Gemmell
18 |
19 | Created for
20 | Jeff LaMarche and Cyril Godefroy
21 |
22 | Artwork by
23 | Matheau Dakoske and Jim Moore
24 |
25 | NSApplication DockIcon category by
26 | Tony Arnold
27 |
28 | Sparkle automatic updates by
29 | Andy Matuschak
30 |
31 | Dedicated to
32 | Lauren Dempster 33 |
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /MGTransparentWindow.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface MGTransparentWindow : NSWindow 4 | { 5 | 6 | } 7 | 8 | + (MGTransparentWindow *)windowWithFrame:(NSRect)frame; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /MGTransparentWindow.m: -------------------------------------------------------------------------------- 1 | #import "MGTransparentWindow.h" 2 | 3 | @implementation MGTransparentWindow 4 | 5 | 6 | // Designated initializer. 7 | - (id)initWithContentRect:(NSRect)contentRect 8 | styleMask:(NSUInteger)aStyle 9 | backing:(NSBackingStoreType)bufferingType 10 | defer:(BOOL)flag { 11 | 12 | if (self = [super initWithContentRect:contentRect 13 | styleMask:NSBorderlessWindowMask 14 | backing:NSBackingStoreBuffered 15 | defer:NO]) { 16 | 17 | [self setBackgroundColor:[NSColor clearColor]]; 18 | [self setAlphaValue:1.0]; 19 | [self setOpaque:NO]; 20 | [self setHasShadow:NO]; 21 | } 22 | 23 | return self; 24 | } 25 | 26 | 27 | // Convenience constructor. 28 | + (MGTransparentWindow *)windowWithFrame:(NSRect)frame 29 | { 30 | MGTransparentWindow *window = [[self alloc] 31 | initWithContentRect:frame 32 | styleMask:NSBorderlessWindowMask 33 | backing:NSBackingStoreBuffered 34 | defer:NO]; 35 | return [window autorelease]; 36 | } 37 | 38 | 39 | - (BOOL)canBecomeKeyWindow 40 | { 41 | return YES; 42 | } 43 | 44 | - (BOOL)canBecomeMainWindow 45 | { 46 | return NO; 47 | } 48 | 49 | 50 | - (void)keyDown:(NSEvent *)event 51 | { 52 | if( [[self delegate] respondsToSelector:@selector(keyDown:)] ) 53 | [[self delegate] performSelector:@selector(keyDown:) withObject:event]; 54 | } 55 | 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /NSApplication+DockIcon.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSApplication+DockIcon.h 3 | // Shady 4 | // 5 | // Created by Matt Gemmell on 06/11/2009. 6 | 7 | #import 8 | 9 | 10 | @interface NSApplication (DockIcon) 11 | 12 | - (void)setShowsDockIcon:(BOOL)flag; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /NSApplication+DockIcon.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSApplication+DockIcon.m 3 | // Hyperspaces 4 | // 5 | // Created by Tony Arnold on 30/06/09. 6 | // Licensed under Creative Commons Attribution 2.5 - http://creativecommons.org/licenses/by/2.5/ 7 | 8 | 9 | #import 10 | #import 11 | 12 | @implementation NSApplication (DockIcon) 13 | 14 | 15 | - (void)setShowsDockIcon:(BOOL)flag { 16 | // this should be called from the application delegate's applicationDidFinishLaunching 17 | // method or from some controller object's awakeFromNib method 18 | // Neat dockless hack using Carbon from http://codesorcery.net/2008/02/06/feature-requests-versus-the-right-way-... 19 | if (flag) { 20 | ProcessSerialNumber psn = { 0, kCurrentProcess }; 21 | // display dock icon 22 | TransformProcessType(&psn, kProcessTransformToForegroundApplication); 23 | // enable menu bar 24 | SetSystemUIMode(kUIModeNormal, 0); 25 | // switch to Dock.app 26 | [[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.apple.dock" options:NSWorkspaceLaunchDefault additionalEventParamDescriptor:nil launchIdentifier:nil]; 27 | // switch back 28 | [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; 29 | } else { 30 | NSAlert *alert = [[[NSAlert alloc] init] autorelease]; 31 | [alert addButtonWithTitle:@"Relaunch Now"]; 32 | [alert addButtonWithTitle:@"Later"]; 33 | NSString *bundlePath = [[NSBundle mainBundle] bundlePath]; 34 | NSString *appName = [[NSFileManager defaultManager] displayNameAtPath: bundlePath]; 35 | [alert setMessageText:[NSString stringWithFormat:@"You must now restart %@", appName]]; 36 | [alert setInformativeText:@"Your new setting for the Dock icon won't show up until you relaunch this application."]; 37 | [alert setAlertStyle:NSWarningAlertStyle]; 38 | NSInteger result = [alert runModal]; 39 | if (result == NSAlertFirstButtonReturn) { 40 | [NSTask launchedTaskWithLaunchPath:@"/bin/sh" arguments:[NSArray arrayWithObjects:@"-c", [NSString stringWithFormat:@"sleep 1 ; /usr/bin/open '%@'", [[NSBundle mainBundle] bundlePath]], nil]]; 41 | [NSApp terminate:self]; 42 | } 43 | } 44 | } 45 | 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /Shady-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | Shady 11 | CFBundleIdentifier 12 | com.instinctivecode.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.3 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 10 25 | LSMinimumSystemVersion 26 | ${MACOSX_DEPLOYMENT_TARGET} 27 | LSUIElement 28 | 29 | NSMainNibFile 30 | MainMenu 31 | NSPrincipalClass 32 | NSApplication 33 | SUFeedURL 34 | http://instinctivecode.com/appcasts/shady.xml 35 | SUPublicDSAKeyFile 36 | dsa_pub.pem 37 | 38 | 39 | -------------------------------------------------------------------------------- /Shady.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady.icns -------------------------------------------------------------------------------- /Shady.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 45; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; 11 | 256AC3DA0F4B6AC300CF3369 /* ShadyAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* ShadyAppDelegate.m */; }; 12 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 13 | 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 14 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 15 | C9119049109F74D900EE7B84 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9119048109F74D900EE7B84 /* QuartzCore.framework */; }; 16 | C940E3F610A05A36001EE8BF /* Shady.icns in Resources */ = {isa = PBXBuildFile; fileRef = C940E3F510A05A36001EE8BF /* Shady.icns */; }; 17 | C940E40A10A05CB6001EE8BF /* Shady_Subdued.icns in Resources */ = {isa = PBXBuildFile; fileRef = C940E40910A05CB6001EE8BF /* Shady_Subdued.icns */; }; 18 | C9711F00109F4572003125E7 /* MGTransparentWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = C9711EFF109F4572003125E7 /* MGTransparentWindow.m */; }; 19 | C9906E8910A4C2B7003C9798 /* NSApplication+DockIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = C9906E8810A4C2B7003C9798 /* NSApplication+DockIcon.m */; }; 20 | C9906ECA10A4C51C003C9798 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9906EC910A4C51C003C9798 /* Carbon.framework */; }; 21 | C9906F9210A4D1C6003C9798 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9906F9110A4D1C6003C9798 /* Sparkle.framework */; }; 22 | C9906F9810A4D1EE003C9798 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = C9906F9110A4D1C6003C9798 /* Sparkle.framework */; }; 23 | C9906FA310A4D381003C9798 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = C9906FA210A4D381003C9798 /* dsa_pub.pem */; }; 24 | C9A3A24E109F67E500E483C0 /* Credits.html in Resources */ = {isa = PBXBuildFile; fileRef = C9A3A24C109F67E500E483C0 /* Credits.html */; }; 25 | C9B629FC10A200C200A67B48 /* Shady_Menu_Dark.png in Resources */ = {isa = PBXBuildFile; fileRef = C9B629FA10A200C200A67B48 /* Shady_Menu_Dark.png */; }; 26 | C9B629FD10A200C200A67B48 /* Shady_Menu_Light.png in Resources */ = {isa = PBXBuildFile; fileRef = C9B629FB10A200C200A67B48 /* Shady_Menu_Light.png */; }; 27 | C9F3742A10A60E5800025D8B /* Shady_Menu_Dark_Off.png in Resources */ = {isa = PBXBuildFile; fileRef = C9F3742810A60E5800025D8B /* Shady_Menu_Dark_Off.png */; }; 28 | C9F3742B10A60E5800025D8B /* Shady_Menu_Light_Off.png in Resources */ = {isa = PBXBuildFile; fileRef = C9F3742910A60E5800025D8B /* Shady_Menu_Light_Off.png */; }; 29 | /* End PBXBuildFile section */ 30 | 31 | /* Begin PBXCopyFilesBuildPhase section */ 32 | C9906FA110A4D205003C9798 /* CopyFiles */ = { 33 | isa = PBXCopyFilesBuildPhase; 34 | buildActionMask = 2147483647; 35 | dstPath = ""; 36 | dstSubfolderSpec = 10; 37 | files = ( 38 | C9906F9810A4D1EE003C9798 /* Sparkle.framework in CopyFiles */, 39 | ); 40 | runOnlyForDeploymentPostprocessing = 0; 41 | }; 42 | /* End PBXCopyFilesBuildPhase section */ 43 | 44 | /* Begin PBXFileReference section */ 45 | 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 46 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 47 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 48 | 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; 49 | 256AC3D80F4B6AC300CF3369 /* ShadyAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShadyAppDelegate.h; sourceTree = ""; }; 50 | 256AC3D90F4B6AC300CF3369 /* ShadyAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShadyAppDelegate.m; sourceTree = ""; }; 51 | 256AC3F00F4B6AF500CF3369 /* Shady_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shady_Prefix.pch; sourceTree = ""; }; 52 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 53 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 54 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 55 | 8D1107310486CEB800E47090 /* Shady-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Shady-Info.plist"; sourceTree = ""; }; 56 | 8D1107320486CEB800E47090 /* Shady.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Shady.app; sourceTree = BUILT_PRODUCTS_DIR; }; 57 | C9119048109F74D900EE7B84 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 58 | C940E3F510A05A36001EE8BF /* Shady.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Shady.icns; sourceTree = ""; }; 59 | C940E40910A05CB6001EE8BF /* Shady_Subdued.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Shady_Subdued.icns; sourceTree = ""; }; 60 | C9711EFE109F4572003125E7 /* MGTransparentWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGTransparentWindow.h; sourceTree = ""; }; 61 | C9711EFF109F4572003125E7 /* MGTransparentWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGTransparentWindow.m; sourceTree = ""; }; 62 | C9906E8710A4C2B7003C9798 /* NSApplication+DockIcon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSApplication+DockIcon.h"; sourceTree = ""; }; 63 | C9906E8810A4C2B7003C9798 /* NSApplication+DockIcon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSApplication+DockIcon.m"; sourceTree = ""; }; 64 | C9906EC910A4C51C003C9798 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 65 | C9906F9110A4D1C6003C9798 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; }; 66 | C9906FA210A4D381003C9798 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = ""; }; 67 | C9A3A24D109F67E500E483C0 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = English; path = English.lproj/Credits.html; sourceTree = ""; }; 68 | C9B629FA10A200C200A67B48 /* Shady_Menu_Dark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Shady_Menu_Dark.png; sourceTree = ""; }; 69 | C9B629FB10A200C200A67B48 /* Shady_Menu_Light.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Shady_Menu_Light.png; sourceTree = ""; }; 70 | C9B62A0F10A2021100A67B48 /* Shady_Menu_Icons.psd */ = {isa = PBXFileReference; lastKnownFileType = file; path = Shady_Menu_Icons.psd; sourceTree = ""; }; 71 | C9F3742810A60E5800025D8B /* Shady_Menu_Dark_Off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Shady_Menu_Dark_Off.png; sourceTree = ""; }; 72 | C9F3742910A60E5800025D8B /* Shady_Menu_Light_Off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Shady_Menu_Light_Off.png; sourceTree = ""; }; 73 | /* End PBXFileReference section */ 74 | 75 | /* Begin PBXFrameworksBuildPhase section */ 76 | 8D11072E0486CEB800E47090 /* Frameworks */ = { 77 | isa = PBXFrameworksBuildPhase; 78 | buildActionMask = 2147483647; 79 | files = ( 80 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, 81 | C9119049109F74D900EE7B84 /* QuartzCore.framework in Frameworks */, 82 | C9906ECA10A4C51C003C9798 /* Carbon.framework in Frameworks */, 83 | C9906F9210A4D1C6003C9798 /* Sparkle.framework in Frameworks */, 84 | ); 85 | runOnlyForDeploymentPostprocessing = 0; 86 | }; 87 | /* End PBXFrameworksBuildPhase section */ 88 | 89 | /* Begin PBXGroup section */ 90 | 080E96DDFE201D6D7F000001 /* Classes */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 256AC3D80F4B6AC300CF3369 /* ShadyAppDelegate.h */, 94 | 256AC3D90F4B6AC300CF3369 /* ShadyAppDelegate.m */, 95 | C9711EFE109F4572003125E7 /* MGTransparentWindow.h */, 96 | C9711EFF109F4572003125E7 /* MGTransparentWindow.m */, 97 | C9906E8710A4C2B7003C9798 /* NSApplication+DockIcon.h */, 98 | C9906E8810A4C2B7003C9798 /* NSApplication+DockIcon.m */, 99 | ); 100 | name = Classes; 101 | sourceTree = ""; 102 | }; 103 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { 104 | isa = PBXGroup; 105 | children = ( 106 | C9906F9110A4D1C6003C9798 /* Sparkle.framework */, 107 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, 108 | C9119048109F74D900EE7B84 /* QuartzCore.framework */, 109 | C9906EC910A4C51C003C9798 /* Carbon.framework */, 110 | ); 111 | name = "Linked Frameworks"; 112 | sourceTree = ""; 113 | }; 114 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { 115 | isa = PBXGroup; 116 | children = ( 117 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 118 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, 119 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */, 120 | ); 121 | name = "Other Frameworks"; 122 | sourceTree = ""; 123 | }; 124 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 125 | isa = PBXGroup; 126 | children = ( 127 | 8D1107320486CEB800E47090 /* Shady.app */, 128 | ); 129 | name = Products; 130 | sourceTree = ""; 131 | }; 132 | 29B97314FDCFA39411CA2CEA /* Shady */ = { 133 | isa = PBXGroup; 134 | children = ( 135 | 080E96DDFE201D6D7F000001 /* Classes */, 136 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 137 | 29B97317FDCFA39411CA2CEA /* Resources */, 138 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 139 | 19C28FACFE9D520D11CA2CBB /* Products */, 140 | ); 141 | name = Shady; 142 | sourceTree = ""; 143 | }; 144 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 145 | isa = PBXGroup; 146 | children = ( 147 | 256AC3F00F4B6AF500CF3369 /* Shady_Prefix.pch */, 148 | 29B97316FDCFA39411CA2CEA /* main.m */, 149 | ); 150 | name = "Other Sources"; 151 | sourceTree = ""; 152 | }; 153 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 154 | isa = PBXGroup; 155 | children = ( 156 | 1DDD58140DA1D0A300B32029 /* MainMenu.xib */, 157 | 8D1107310486CEB800E47090 /* Shady-Info.plist */, 158 | C9A3A24C109F67E500E483C0 /* Credits.html */, 159 | C9F3743C10A614C700025D8B /* Images */, 160 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 161 | C9906FA210A4D381003C9798 /* dsa_pub.pem */, 162 | ); 163 | name = Resources; 164 | sourceTree = ""; 165 | }; 166 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 167 | isa = PBXGroup; 168 | children = ( 169 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 170 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, 171 | ); 172 | name = Frameworks; 173 | sourceTree = ""; 174 | }; 175 | C9F3743C10A614C700025D8B /* Images */ = { 176 | isa = PBXGroup; 177 | children = ( 178 | C940E3F510A05A36001EE8BF /* Shady.icns */, 179 | C940E40910A05CB6001EE8BF /* Shady_Subdued.icns */, 180 | C9B629FA10A200C200A67B48 /* Shady_Menu_Dark.png */, 181 | C9B629FB10A200C200A67B48 /* Shady_Menu_Light.png */, 182 | C9F3742810A60E5800025D8B /* Shady_Menu_Dark_Off.png */, 183 | C9F3742910A60E5800025D8B /* Shady_Menu_Light_Off.png */, 184 | C9B62A0F10A2021100A67B48 /* Shady_Menu_Icons.psd */, 185 | ); 186 | name = Images; 187 | sourceTree = ""; 188 | }; 189 | /* End PBXGroup section */ 190 | 191 | /* Begin PBXNativeTarget section */ 192 | 8D1107260486CEB800E47090 /* Shady */ = { 193 | isa = PBXNativeTarget; 194 | buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Shady" */; 195 | buildPhases = ( 196 | 8D1107290486CEB800E47090 /* Resources */, 197 | 8D11072C0486CEB800E47090 /* Sources */, 198 | 8D11072E0486CEB800E47090 /* Frameworks */, 199 | C9906FA110A4D205003C9798 /* CopyFiles */, 200 | C9906FA710A4D895003C9798 /* ShellScript */, 201 | ); 202 | buildRules = ( 203 | ); 204 | dependencies = ( 205 | ); 206 | name = Shady; 207 | productInstallPath = "$(HOME)/Applications"; 208 | productName = Shady; 209 | productReference = 8D1107320486CEB800E47090 /* Shady.app */; 210 | productType = "com.apple.product-type.application"; 211 | }; 212 | /* End PBXNativeTarget section */ 213 | 214 | /* Begin PBXProject section */ 215 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 216 | isa = PBXProject; 217 | attributes = { 218 | }; 219 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Shady" */; 220 | compatibilityVersion = "Xcode 3.1"; 221 | developmentRegion = English; 222 | hasScannedForEncodings = 1; 223 | knownRegions = ( 224 | en, 225 | ); 226 | mainGroup = 29B97314FDCFA39411CA2CEA /* Shady */; 227 | projectDirPath = ""; 228 | projectRoot = ""; 229 | targets = ( 230 | 8D1107260486CEB800E47090 /* Shady */, 231 | ); 232 | }; 233 | /* End PBXProject section */ 234 | 235 | /* Begin PBXResourcesBuildPhase section */ 236 | 8D1107290486CEB800E47090 /* Resources */ = { 237 | isa = PBXResourcesBuildPhase; 238 | buildActionMask = 2147483647; 239 | files = ( 240 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, 241 | 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, 242 | C9A3A24E109F67E500E483C0 /* Credits.html in Resources */, 243 | C940E3F610A05A36001EE8BF /* Shady.icns in Resources */, 244 | C940E40A10A05CB6001EE8BF /* Shady_Subdued.icns in Resources */, 245 | C9B629FC10A200C200A67B48 /* Shady_Menu_Dark.png in Resources */, 246 | C9B629FD10A200C200A67B48 /* Shady_Menu_Light.png in Resources */, 247 | C9906FA310A4D381003C9798 /* dsa_pub.pem in Resources */, 248 | C9F3742A10A60E5800025D8B /* Shady_Menu_Dark_Off.png in Resources */, 249 | C9F3742B10A60E5800025D8B /* Shady_Menu_Light_Off.png in Resources */, 250 | ); 251 | runOnlyForDeploymentPostprocessing = 0; 252 | }; 253 | /* End PBXResourcesBuildPhase section */ 254 | 255 | /* Begin PBXShellScriptBuildPhase section */ 256 | C9906FA710A4D895003C9798 /* ShellScript */ = { 257 | isa = PBXShellScriptBuildPhase; 258 | buildActionMask = 2147483647; 259 | files = ( 260 | ); 261 | inputPaths = ( 262 | ); 263 | outputPaths = ( 264 | ); 265 | runOnlyForDeploymentPostprocessing = 0; 266 | shellPath = /bin/bash; 267 | shellScript = "set -o errexit\n\n[ $BUILD_STYLE = Release ] || { echo Distribution target requires \"'Release'\" build style; exit; }\n\nVERSION=$(defaults read \"$BUILT_PRODUCTS_DIR/$PROJECT_NAME.app/Contents/Info\" CFBundleVersion)\nDOWNLOAD_BASE_URL=\"http:/instinctivecode.com/shady\"\nRELEASENOTES_URL=\"http://instinctivecode.com/shady/release-notes.html#version-$VERSION\"\n\nARCHIVE_FILENAME=\"$PROJECT_NAME$VERSION.zip\"\nDOWNLOAD_URL=\"$DOWNLOAD_BASE_URL/$ARCHIVE_FILENAME\"\nKEYCHAIN_PRIVKEY_NAME=\"Sparkle Private Key for Shady\"\n\nWD=$PWD\ncd \"$BUILT_PRODUCTS_DIR\"\nrm -f \"$PROJECT_NAME\"*.zip\nditto -ck --keepParent \"$PROJECT_NAME.app\" \"$ARCHIVE_FILENAME\"\n\nSIZE=$(stat -f %z \"$ARCHIVE_FILENAME\")\nPUBDATE=$(date +\"%a, %d %b %G %T %z\")\nSIGNATURE=$(\n\topenssl dgst -sha1 -binary < \"$ARCHIVE_FILENAME\" \\\n\t| openssl dgst -dss1 -sign <(security find-generic-password -g -s \"$KEYCHAIN_PRIVKEY_NAME\" 2>&1 1>/dev/null | perl -pe '($_) = /\"(.+)\"/; s/\\\\012/\\n/g' | perl -MXML::LibXML -e 'print XML::LibXML->new()->parse_file(\"-\")->findvalue(q(//string[preceding-sibling::key[1] = \"NOTE\"]))') \\\n\t| openssl enc -base64\n)\n\n[ $SIGNATURE ] || { echo Unable to load signing private key with name \"'$KEYCHAIN_PRIVKEY_NAME'\" from keychain; false; }\n\ncat <\n\t\t\tVersion $VERSION\n\t\t\t$RELEASENOTES_URL\n\t\t\t$PUBDATE\n\t\t\t\n\t\t\nEOF\n\necho scp \"'$HOME/code/Shady/build/Release/$ARCHIVE_FILENAME'\" www.instinctivecode.com:shady/\necho scp \"'$WD/appcast.xml'\" www.instinctivecode.com:appcasts/shady.xml"; 268 | }; 269 | /* End PBXShellScriptBuildPhase section */ 270 | 271 | /* Begin PBXSourcesBuildPhase section */ 272 | 8D11072C0486CEB800E47090 /* Sources */ = { 273 | isa = PBXSourcesBuildPhase; 274 | buildActionMask = 2147483647; 275 | files = ( 276 | 8D11072D0486CEB800E47090 /* main.m in Sources */, 277 | 256AC3DA0F4B6AC300CF3369 /* ShadyAppDelegate.m in Sources */, 278 | C9711F00109F4572003125E7 /* MGTransparentWindow.m in Sources */, 279 | C9906E8910A4C2B7003C9798 /* NSApplication+DockIcon.m in Sources */, 280 | ); 281 | runOnlyForDeploymentPostprocessing = 0; 282 | }; 283 | /* End PBXSourcesBuildPhase section */ 284 | 285 | /* Begin PBXVariantGroup section */ 286 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { 287 | isa = PBXVariantGroup; 288 | children = ( 289 | 089C165DFE840E0CC02AAC07 /* English */, 290 | ); 291 | name = InfoPlist.strings; 292 | sourceTree = ""; 293 | }; 294 | 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = { 295 | isa = PBXVariantGroup; 296 | children = ( 297 | 1DDD58150DA1D0A300B32029 /* English */, 298 | ); 299 | name = MainMenu.xib; 300 | sourceTree = ""; 301 | }; 302 | C9A3A24C109F67E500E483C0 /* Credits.html */ = { 303 | isa = PBXVariantGroup; 304 | children = ( 305 | C9A3A24D109F67E500E483C0 /* English */, 306 | ); 307 | name = Credits.html; 308 | sourceTree = ""; 309 | }; 310 | /* End PBXVariantGroup section */ 311 | 312 | /* Begin XCBuildConfiguration section */ 313 | C01FCF4B08A954540054247B /* Debug */ = { 314 | isa = XCBuildConfiguration; 315 | buildSettings = { 316 | ALWAYS_SEARCH_USER_PATHS = NO; 317 | COPY_PHASE_STRIP = NO; 318 | FRAMEWORK_SEARCH_PATHS = ( 319 | "$(inherited)", 320 | "\"$(SRCROOT)\"", 321 | ); 322 | GCC_DYNAMIC_NO_PIC = NO; 323 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 324 | GCC_MODEL_TUNING = G5; 325 | GCC_OPTIMIZATION_LEVEL = 0; 326 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 327 | GCC_PREFIX_HEADER = Shady_Prefix.pch; 328 | INFOPLIST_FILE = "Shady-Info.plist"; 329 | INSTALL_PATH = "$(HOME)/Applications"; 330 | MACOSX_DEPLOYMENT_TARGET = 10.5; 331 | PRODUCT_NAME = Shady; 332 | SDKROOT = macosx; 333 | }; 334 | name = Debug; 335 | }; 336 | C01FCF4C08A954540054247B /* Release */ = { 337 | isa = XCBuildConfiguration; 338 | buildSettings = { 339 | ALWAYS_SEARCH_USER_PATHS = NO; 340 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 341 | FRAMEWORK_SEARCH_PATHS = ( 342 | "$(inherited)", 343 | "\"$(SRCROOT)\"", 344 | ); 345 | GCC_MODEL_TUNING = G5; 346 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 347 | GCC_PREFIX_HEADER = Shady_Prefix.pch; 348 | INFOPLIST_FILE = "Shady-Info.plist"; 349 | INSTALL_PATH = "$(HOME)/Applications"; 350 | MACOSX_DEPLOYMENT_TARGET = 10.5; 351 | PRODUCT_NAME = Shady; 352 | SDKROOT = macosx; 353 | }; 354 | name = Release; 355 | }; 356 | C01FCF4F08A954540054247B /* Debug */ = { 357 | isa = XCBuildConfiguration; 358 | buildSettings = { 359 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 360 | GCC_C_LANGUAGE_STANDARD = gnu99; 361 | GCC_OPTIMIZATION_LEVEL = 0; 362 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 363 | GCC_WARN_UNUSED_VARIABLE = YES; 364 | ONLY_ACTIVE_ARCH = YES; 365 | PREBINDING = NO; 366 | SDKROOT = macosx10.6; 367 | }; 368 | name = Debug; 369 | }; 370 | C01FCF5008A954540054247B /* Release */ = { 371 | isa = XCBuildConfiguration; 372 | buildSettings = { 373 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 374 | GCC_C_LANGUAGE_STANDARD = gnu99; 375 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 376 | GCC_WARN_UNUSED_VARIABLE = YES; 377 | PREBINDING = NO; 378 | SDKROOT = macosx10.6; 379 | }; 380 | name = Release; 381 | }; 382 | /* End XCBuildConfiguration section */ 383 | 384 | /* Begin XCConfigurationList section */ 385 | C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Shady" */ = { 386 | isa = XCConfigurationList; 387 | buildConfigurations = ( 388 | C01FCF4B08A954540054247B /* Debug */, 389 | C01FCF4C08A954540054247B /* Release */, 390 | ); 391 | defaultConfigurationIsVisible = 0; 392 | defaultConfigurationName = Release; 393 | }; 394 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Shady" */ = { 395 | isa = XCConfigurationList; 396 | buildConfigurations = ( 397 | C01FCF4F08A954540054247B /* Debug */, 398 | C01FCF5008A954540054247B /* Release */, 399 | ); 400 | defaultConfigurationIsVisible = 0; 401 | defaultConfigurationName = Release; 402 | }; 403 | /* End XCConfigurationList section */ 404 | }; 405 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 406 | } 407 | -------------------------------------------------------------------------------- /Shady.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Shady.xcodeproj/project.xcworkspace/xcshareddata/Shady.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | AF3FE261-F76A-4A2F-BA74-97FDA29F2714 9 | IDESourceControlProjectName 10 | Shady 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 3AE09CA7-213A-40F0-B3C4-CE31B326AA8A 14 | https://github.com/mattgemmell/Shady.git 15 | 16 | IDESourceControlProjectPath 17 | Shady.xcodeproj/project.xcworkspace 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 3AE09CA7-213A-40F0-B3C4-CE31B326AA8A 21 | ../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/mattgemmell/Shady.git 25 | IDESourceControlProjectVersion 26 | 110 27 | IDESourceControlProjectWCCIdentifier 28 | 3AE09CA7-213A-40F0-B3C4-CE31B326AA8A 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 3AE09CA7-213A-40F0-B3C4-CE31B326AA8A 36 | IDESourceControlWCCName 37 | Shady 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Shady.xcodeproj/project.xcworkspace/xcuserdata/masa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady.xcodeproj/project.xcworkspace/xcuserdata/masa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Shady.xcodeproj/xcuserdata/masa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Shady.xcodeproj/xcuserdata/masa.xcuserdatad/xcschemes/Shady.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /Shady.xcodeproj/xcuserdata/masa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Shady.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 8D1107260486CEB800E47090 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ShadyAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ShadyAppDelegate.h 3 | // Shady 4 | // 5 | // Created by Matt Gemmell on 02/11/2009. 6 | // 7 | 8 | #import 9 | 10 | @interface ShadyAppDelegate : NSObject { 11 | NSArray *windows; 12 | float opacity; 13 | BOOL showsHelpWhenActive; 14 | NSWindow *helpWindow; 15 | NSMenu *statusMenu; 16 | NSSlider *opacitySlider; 17 | NSStatusItem *statusItem; 18 | NSPanel *prefsWindow; 19 | NSButton *dockIconCheckbox; 20 | NSMenuItem *stateMenuItemMainMenu; 21 | NSMenuItem *stateMenuItemStatusBar; 22 | BOOL shadyEnabled; 23 | } 24 | 25 | @property (assign) float opacity; 26 | @property (assign) IBOutlet NSMenu *statusMenu; 27 | @property (assign) IBOutlet NSSlider *opacitySlider; 28 | @property (assign) IBOutlet NSPanel *prefsWindow; 29 | @property (assign) IBOutlet NSButton *dockIconCheckbox; 30 | @property (assign) IBOutlet NSMenuItem *stateMenuItemMainMenu; 31 | @property (assign) IBOutlet NSMenuItem *stateMenuItemStatusBar; 32 | 33 | - (IBAction)showAbout:(id)sender; 34 | - (IBAction)showPreferences:(id)sender; 35 | - (IBAction)toggleDockIcon:(id)sender; 36 | - (IBAction)toggleEnabledStatus:(id)sender; 37 | 38 | - (IBAction)increaseOpacity:(id)sender; 39 | - (IBAction)decreaseOpacity:(id)sender; 40 | - (IBAction)opacitySliderChanged:(id)sender; 41 | 42 | - (void)applicationActiveStateChanged:(NSNotification *)aNotification; 43 | - (void)toggleHelpDisplay; 44 | - (void)updateEnabledStatus; 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /ShadyAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // ShadyAppDelegate.m 3 | // Shady 4 | // 5 | // Created by Matt Gemmell on 02/11/2009. 6 | // 7 | 8 | #import "ShadyAppDelegate.h" 9 | #import 10 | #import "MGTransparentWindow.h" 11 | #import "NSApplication+DockIcon.h" 12 | 13 | #define OPACITY_UNIT 0.05; // "20 shades ought to be enough for _anybody_." 14 | #define DEFAULT_OPACITY 0.4 15 | 16 | #define STATE_MENU NSLocalizedString(@"Turn Shady Off", nil) // global status menu-item title when enabled 17 | #define STATE_MENU_OFF NSLocalizedString(@"Turn Shady On", nil) // global status menu-item title when disabled 18 | 19 | #define HELP_TEXT NSLocalizedString(@"When Shady is frontmost:\rPress Up/Down to alter shade,\ror press Q to Quit.", nil) 20 | #define HELP_TEXT_OFF NSLocalizedString(@"Shady is Off.\rPress S to turn Shady on,\ror press Q to Quit.", nil) 21 | 22 | #define STATUS_MENU_ICON [NSImage imageNamed:@"Shady_Menu_Dark"] 23 | #define STATUS_MENU_ICON_ALT [NSImage imageNamed:@"Shady_Menu_Light"] 24 | #define STATUS_MENU_ICON_OFF [NSImage imageNamed:@"Shady_Menu_Dark_Off"] 25 | #define STATUS_MENU_ICON_OFF_ALT [NSImage imageNamed:@"Shady_Menu_Light_Off"] 26 | 27 | #define MAX_OPACITY 0.90 // the darkest the screen can be, where 1.0 is pure black. 28 | #define KEY_OPACITY @"ShadySavedOpacityKey" // name of the saved opacity setting. 29 | #define KEY_DOCKICON @"ShadySavedDockIconKey" // name of the saved dock icon state setting. 30 | #define KEY_ENABLED @"ShadySavedEnabledKey" // name of the saved primary state setting. 31 | 32 | @implementation ShadyAppDelegate 33 | 34 | @synthesize opacity; 35 | @synthesize statusMenu; 36 | @synthesize opacitySlider; 37 | @synthesize prefsWindow; 38 | @synthesize dockIconCheckbox; 39 | @synthesize stateMenuItemMainMenu; 40 | @synthesize stateMenuItemStatusBar; 41 | 42 | 43 | #pragma mark Setup and Tear-down 44 | 45 | 46 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 47 | { 48 | // Set the default opacity value and load any saved settings. 49 | NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 50 | [defaults registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys: 51 | [NSNumber numberWithFloat:DEFAULT_OPACITY], KEY_OPACITY, 52 | [NSNumber numberWithBool:YES], KEY_DOCKICON, 53 | [NSNumber numberWithBool:YES], KEY_ENABLED, 54 | nil]]; 55 | 56 | // Set up Dock icon. 57 | BOOL showsDockIcon = [defaults boolForKey:KEY_DOCKICON]; 58 | [dockIconCheckbox setState:(showsDockIcon) ? NSOnState : NSOffState]; 59 | if (showsDockIcon) { 60 | // Only set it here if it's YES, since we've just read a saved default and we always start with no Dock icon. 61 | [NSApp setShowsDockIcon:showsDockIcon]; 62 | } 63 | 64 | 65 | // Activate statusItem. 66 | NSStatusBar *bar = [NSStatusBar systemStatusBar]; 67 | statusItem = [bar statusItemWithLength:NSSquareStatusItemLength]; 68 | [statusItem retain]; 69 | 70 | NSImage* image = STATUS_MENU_ICON; 71 | [image setTemplate:YES]; 72 | [statusItem setImage:image]; 73 | 74 | NSImage* altImage = STATUS_MENU_ICON_ALT; 75 | [altImage setTemplate:YES]; 76 | [statusItem setAlternateImage:altImage]; 77 | [statusItem setHighlightMode:YES]; 78 | [opacitySlider setFloatValue:(1.0 - opacity)]; 79 | [statusItem setMenu:statusMenu]; 80 | 81 | // Set appropriate initial display state. 82 | shadyEnabled = [defaults boolForKey:KEY_ENABLED]; 83 | 84 | // Only show help text when activated _after_ we've launched and hidden ourselves. 85 | showsHelpWhenActive = NO; 86 | 87 | // Create transparent windows 88 | [self loadWindows]; 89 | 90 | // Put this app into the background (the shade won't hide due to how its window is set up above). 91 | [NSApp hide:self]; 92 | 93 | } 94 | 95 | 96 | - (void)dealloc 97 | { 98 | if (statusItem) { 99 | [[NSStatusBar systemStatusBar] removeStatusItem:statusItem]; 100 | [statusItem release]; 101 | statusItem = nil; 102 | } 103 | [helpWindow.parentWindow removeChildWindow:helpWindow]; 104 | 105 | [helpWindow close]; 106 | [windows makeObjectsPerformSelector:@selector(close)]; 107 | 108 | windows = nil; // released when closed. 109 | helpWindow = nil; // released when closed. 110 | 111 | [super dealloc]; 112 | } 113 | 114 | - (void)loadWindows 115 | { 116 | NSMutableArray* array = [[NSMutableArray alloc] init]; 117 | for( NSScreen* screen in [NSScreen screens] ) 118 | { 119 | MGTransparentWindow* window; 120 | window = [[MGTransparentWindow windowWithFrame:screen.frame] retain]; 121 | 122 | // Configure window. 123 | [window setReleasedWhenClosed:YES]; 124 | [window setHidesOnDeactivate:NO]; 125 | [window setCanHide:NO]; 126 | if( NSFoundationVersionNumber10_6 <= NSFoundationVersionNumber ) 127 | [window setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces | NSWindowCollectionBehaviorStationary]; 128 | else 129 | [window setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces]; 130 | [window setIgnoresMouseEvents:YES]; 131 | [window setLevel:NSScreenSaverWindowLevel]; 132 | [window setDelegate:self]; 133 | 134 | // Configure contentView. 135 | NSView *contentView = [window contentView]; 136 | [contentView setWantsLayer:YES]; 137 | CALayer *layer = [contentView layer]; 138 | layer.backgroundColor = CGColorGetConstantColor(kCGColorBlack); 139 | layer.opacity = 0; 140 | [window makeFirstResponder:contentView]; 141 | 142 | [array addObject: window]; 143 | } 144 | 145 | [windows release]; 146 | windows = array; 147 | 148 | [self updateEnabledStatus]; 149 | self.opacity = [[NSUserDefaults standardUserDefaults] floatForKey:KEY_OPACITY]; 150 | 151 | // Put window on screen. 152 | [windows makeObjectsPerformSelector:@selector(makeKeyAndOrderFront:) withObject:self]; 153 | 154 | } 155 | 156 | #pragma mark Notifications handlers 157 | 158 | 159 | - (void)applicationDidBecomeActive:(NSNotification *)aNotification 160 | { 161 | [self applicationActiveStateChanged:aNotification]; 162 | } 163 | 164 | 165 | - (void)applicationDidResignActive:(NSNotification *)aNotification 166 | { 167 | [self applicationActiveStateChanged:aNotification]; 168 | } 169 | 170 | 171 | - (void)applicationActiveStateChanged:(NSNotification *)aNotification 172 | { 173 | BOOL appActive = [NSApp isActive]; 174 | if (appActive) { 175 | // Give the window a kick into focus, so we still get key-presses. 176 | [windows makeObjectsPerformSelector:@selector(makeKeyAndOrderFront:) withObject:self]; 177 | } 178 | 179 | if (!showsHelpWhenActive && !appActive) { 180 | // Enable help text display when active from now on. 181 | showsHelpWhenActive = YES; 182 | 183 | } else if (showsHelpWhenActive) { 184 | [self toggleHelpDisplay]; 185 | } 186 | } 187 | 188 | - (void)applicationDidChangeScreenParameters:(NSNotification *)aNotification 189 | { 190 | [windows[0] removeChildWindow:helpWindow]; 191 | 192 | [helpWindow close]; 193 | [windows makeObjectsPerformSelector:@selector(close)]; 194 | 195 | [windows release]; 196 | windows = nil; // released when closed. 197 | helpWindow = nil; // released when closed. 198 | 199 | 200 | [self loadWindows]; 201 | } 202 | 203 | #pragma mark IBActions 204 | 205 | 206 | - (IBAction)showAbout:(id)sender 207 | { 208 | // We wrap this for the statusItem to ensure Shady comes to the front first. 209 | [NSApp activateIgnoringOtherApps:YES]; 210 | [NSApp orderFrontStandardAboutPanel:self]; 211 | } 212 | 213 | 214 | - (IBAction)showPreferences:(id)sender 215 | { 216 | [NSApp activateIgnoringOtherApps:YES]; 217 | [prefsWindow makeKeyAndOrderFront:self]; 218 | } 219 | 220 | 221 | - (IBAction)increaseOpacity:(id)sender 222 | { 223 | // i.e. make screen darker by making our mask less transparent. 224 | if (shadyEnabled) { 225 | self.opacity = opacity + OPACITY_UNIT; 226 | } else { 227 | NSBeep(); 228 | } 229 | } 230 | 231 | 232 | - (IBAction)decreaseOpacity:(id)sender 233 | { 234 | // i.e. make screen lighter by making our mask more transparent. 235 | if (shadyEnabled) { 236 | self.opacity = opacity - OPACITY_UNIT; 237 | } else { 238 | NSBeep(); 239 | } 240 | } 241 | 242 | 243 | - (IBAction)opacitySliderChanged:(id)sender 244 | { 245 | self.opacity = (1.0 - [sender floatValue]); 246 | } 247 | 248 | 249 | - (IBAction)toggleDockIcon:(id)sender 250 | { 251 | BOOL showsDockIcon = ([sender state] != NSOffState); 252 | NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 253 | [defaults setBool:showsDockIcon forKey:KEY_DOCKICON]; 254 | [defaults synchronize]; 255 | [NSApp setShowsDockIcon:showsDockIcon]; 256 | } 257 | 258 | 259 | - (IBAction)toggleEnabledStatus:(id)sender 260 | { 261 | shadyEnabled = !shadyEnabled; 262 | [self updateEnabledStatus]; 263 | } 264 | 265 | 266 | - (void)keyDown:(NSEvent *)event 267 | { 268 | if ( [windows containsObject:[event window]]) { 269 | unsigned short keyCode = [event keyCode]; 270 | if (keyCode == 12 || keyCode == 53) { // q || Esc 271 | [NSApp terminate:self]; 272 | 273 | } else if (keyCode == 126) { // up-arrow 274 | [self decreaseOpacity:self]; 275 | 276 | } else if (keyCode == 125) { // down-arrow 277 | [self increaseOpacity:self]; 278 | 279 | } else if (keyCode == 1) { // s 280 | [self toggleEnabledStatus:self]; 281 | 282 | } else if (keyCode == 43) { // , 283 | [self showPreferences:self]; 284 | 285 | } else { 286 | //NSLog(@"keyCode: %d", keyCode); 287 | } 288 | } 289 | } 290 | 291 | 292 | #pragma mark Helper methods 293 | 294 | 295 | - (void)toggleHelpDisplay 296 | { 297 | if( windows.count == 0 ) return; // Unknown error 298 | 299 | if (!helpWindow) { 300 | // Create helpWindow. 301 | NSRect mainFrame = [windows[0] frame]; 302 | NSRect helpFrame = NSZeroRect; 303 | float width = 600; 304 | float height = 200; 305 | helpFrame.origin.x = (mainFrame.size.width - width) / 2.0; 306 | helpFrame.origin.y = 200.0; 307 | helpFrame.size.width = width; 308 | helpFrame.size.height = height; 309 | helpWindow = [[MGTransparentWindow windowWithFrame:helpFrame] retain]; 310 | 311 | // Configure window. 312 | [helpWindow setReleasedWhenClosed:YES]; 313 | [helpWindow setHidesOnDeactivate:NO]; 314 | [helpWindow setCanHide:NO]; 315 | [helpWindow setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces]; 316 | [helpWindow setIgnoresMouseEvents:YES]; 317 | 318 | // Configure contentView. 319 | NSView *contentView = [helpWindow contentView]; 320 | [contentView setWantsLayer:YES]; 321 | CATextLayer *layer = [CATextLayer layer]; 322 | layer.opacity = 0; 323 | [contentView setLayer:layer]; 324 | CGColorRef bgColor = CGColorCreateGenericGray(0.0, 0.6); 325 | layer.backgroundColor = bgColor; 326 | CGColorRelease(bgColor); 327 | layer.string = (shadyEnabled) ? HELP_TEXT : HELP_TEXT_OFF; 328 | layer.contentsRect = CGRectMake(0, 0, 1, 1.2); 329 | layer.fontSize = 40.0; 330 | layer.foregroundColor = CGColorGetConstantColor(kCGColorWhite); 331 | layer.borderColor = CGColorGetConstantColor(kCGColorWhite); 332 | layer.borderWidth = 4.0; 333 | layer.cornerRadius = 15.0; 334 | layer.alignmentMode = kCAAlignmentCenter; 335 | 336 | [windows[0] addChildWindow:helpWindow ordered:NSWindowAbove]; 337 | } 338 | 339 | if (showsHelpWhenActive) { 340 | float helpOpacity = (([NSApp isActive] ? 1 : 0)); 341 | [[[helpWindow contentView] layer] setOpacity:helpOpacity]; 342 | } 343 | } 344 | 345 | 346 | - (void)updateEnabledStatus 347 | { 348 | // Save state. 349 | NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 350 | [defaults setBool:shadyEnabled forKey:KEY_ENABLED]; 351 | [defaults synchronize]; 352 | 353 | // Show or hide the shade layer's view appropriately. 354 | for( NSWindow* window in windows ) 355 | [[[window contentView] animator] setHidden:!shadyEnabled]; 356 | 357 | // Modify help text shown when we're frontmost. 358 | if (helpWindow) { 359 | CATextLayer *helpLayer = (CATextLayer *)[[helpWindow contentView] layer]; 360 | helpLayer.string = (shadyEnabled) ? HELP_TEXT : HELP_TEXT_OFF; 361 | } 362 | 363 | // Update both enable/disable menu-items (in the main menubar and in the NSStatusItem's menu). 364 | [stateMenuItemMainMenu setTitle:(shadyEnabled) ? STATE_MENU : STATE_MENU_OFF]; 365 | [stateMenuItemStatusBar setTitle:(shadyEnabled) ? STATE_MENU : STATE_MENU_OFF]; 366 | 367 | // Update status item's regular and alt/selected images. 368 | 369 | NSImage* image = (shadyEnabled) ? STATUS_MENU_ICON : STATUS_MENU_ICON_OFF; 370 | [image setTemplate:YES]; 371 | 372 | NSImage* altImage = (shadyEnabled) ? STATUS_MENU_ICON_ALT : STATUS_MENU_ICON_OFF_ALT; 373 | [altImage setTemplate:YES]; 374 | 375 | 376 | [statusItem setImage:image]; 377 | [statusItem setAlternateImage:altImage]; 378 | 379 | // Enable/disable slider. 380 | [opacitySlider setEnabled:shadyEnabled]; 381 | } 382 | 383 | 384 | #pragma mark Accessors 385 | 386 | 387 | - (void)setOpacity:(float)newOpacity 388 | { 389 | float normalisedOpacity = MIN(MAX_OPACITY, MAX(newOpacity, 0.0)); 390 | if (normalisedOpacity != opacity) { 391 | opacity = normalisedOpacity; 392 | 393 | NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 394 | [defaults setFloat:opacity forKey:KEY_OPACITY]; 395 | [defaults synchronize]; 396 | 397 | } 398 | 399 | for( NSWindow* window in windows ) 400 | [[[window contentView] layer] setOpacity:opacity]; 401 | 402 | [opacitySlider setFloatValue:(1.0 - opacity)]; 403 | 404 | } 405 | 406 | -(float)opacity 407 | { 408 | return opacity; 409 | } 410 | 411 | 412 | @end 413 | -------------------------------------------------------------------------------- /Shady_Menu_Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady_Menu_Dark.png -------------------------------------------------------------------------------- /Shady_Menu_Dark_Off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady_Menu_Dark_Off.png -------------------------------------------------------------------------------- /Shady_Menu_Icons.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady_Menu_Icons.psd -------------------------------------------------------------------------------- /Shady_Menu_Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady_Menu_Light.png -------------------------------------------------------------------------------- /Shady_Menu_Light_Off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady_Menu_Light_Off.png -------------------------------------------------------------------------------- /Shady_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'Shady' target in the 'Shady' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Shady_Subdued.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Shady_Subdued.icns -------------------------------------------------------------------------------- /Sparkle.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /Sparkle.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /Sparkle.framework/Sparkle: -------------------------------------------------------------------------------- 1 | Versions/Current/Sparkle -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/SUAppcast.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcast.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCAST_H 10 | #define SUAPPCAST_H 11 | 12 | @class SUAppcastItem; 13 | @interface SUAppcast : NSObject { 14 | NSArray *items; 15 | NSString *userAgentString; 16 | id delegate; 17 | NSMutableData *incrementalData; 18 | } 19 | 20 | - (void)fetchAppcastFromURL:(NSURL *)url; 21 | - (void)setDelegate:delegate; 22 | - (void)setUserAgentString:(NSString *)userAgentString; 23 | 24 | - (NSArray *)items; 25 | 26 | @end 27 | 28 | @interface NSObject (SUAppcastDelegate) 29 | - (void)appcastDidFinishLoading:(SUAppcast *)appcast; 30 | - (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error; 31 | @end 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/SUAppcastItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcastItem.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCASTITEM_H 10 | #define SUAPPCASTITEM_H 11 | 12 | @interface SUAppcastItem : NSObject { 13 | NSString *title; 14 | NSDate *date; 15 | NSString *itemDescription; 16 | 17 | NSURL *releaseNotesURL; 18 | 19 | NSString *DSASignature; 20 | NSString *minimumSystemVersion; 21 | 22 | NSURL *fileURL; 23 | NSString *versionString; 24 | NSString *displayVersionString; 25 | 26 | NSDictionary *propertiesDictionary; 27 | } 28 | 29 | // Initializes with data from a dictionary provided by the RSS class. 30 | - initWithDictionary:(NSDictionary *)dict; 31 | 32 | - (NSString *)title; 33 | - (NSString *)versionString; 34 | - (NSString *)displayVersionString; 35 | - (NSDate *)date; 36 | - (NSString *)itemDescription; 37 | - (NSURL *)releaseNotesURL; 38 | - (NSURL *)fileURL; 39 | - (NSString *)DSASignature; 40 | - (NSString *)minimumSystemVersion; 41 | 42 | // Returns the dictionary provided in initWithDictionary; this might be useful later for extensions. 43 | - (NSDictionary *)propertiesDictionary; 44 | 45 | @end 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/SUUpdater.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUUpdater.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 1/4/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUUPDATER_H 10 | #define SUUPDATER_H 11 | 12 | #import 13 | 14 | @class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast; 15 | @interface SUUpdater : NSObject { 16 | NSTimer *checkTimer; 17 | SUUpdateDriver *driver; 18 | 19 | SUHost *host; 20 | IBOutlet id delegate; 21 | } 22 | 23 | + (SUUpdater *)sharedUpdater; 24 | + (SUUpdater *)updaterForBundle:(NSBundle *)bundle; 25 | - (NSBundle *)hostBundle; 26 | 27 | - (void)setDelegate:(id)delegate; 28 | - delegate; 29 | 30 | - (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks; 31 | - (BOOL)automaticallyChecksForUpdates; 32 | 33 | - (void)setUpdateCheckInterval:(NSTimeInterval)interval; 34 | - (NSTimeInterval)updateCheckInterval; 35 | 36 | - (void)setFeedURL:(NSURL *)feedURL; 37 | - (NSURL *)feedURL; 38 | 39 | - (void)setSendsSystemProfile:(BOOL)sendsSystemProfile; 40 | - (BOOL)sendsSystemProfile; 41 | 42 | - (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates; 43 | - (BOOL)automaticallyDownloadsUpdates; 44 | 45 | // This IBAction is meant for a main menu item. Hook up any menu item to this action, 46 | // and Sparkle will check for updates and report back its findings verbosely. 47 | - (IBAction)checkForUpdates:sender; 48 | 49 | // This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update, 50 | // in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an 51 | // update is found, it will be downloaded and prepped for installation. 52 | - (void)checkForUpdatesInBackground; 53 | 54 | // Date of last update check. Returns null if no check has been performed. 55 | - (NSDate*)lastUpdateCheckDate; 56 | 57 | // This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though, 58 | // (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI. 59 | - (void)checkForUpdateInformation; 60 | 61 | // Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer. 62 | - (void)resetUpdateCycle; 63 | 64 | - (BOOL)updateInProgress; 65 | @end 66 | 67 | @interface NSObject (SUUpdaterDelegateInformalProtocol) 68 | // This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user. 69 | - (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile; 70 | 71 | // Use this to override the default behavior for Sparkle prompting the user about automatic update checks. 72 | - (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle; 73 | 74 | // Implement this if you want to do some special handling with the appcast once it finishes loading. 75 | - (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast; 76 | 77 | // If you're using special logic or extensions in your appcast, implement this to use your own logic for finding 78 | // a valid update, if any, in the given appcast. 79 | - (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle; 80 | 81 | // Sent when a valid update is found by the update driver. 82 | - (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update; 83 | 84 | // Sent when a valid update is not found. 85 | - (void)updaterDidNotFindUpdate:(SUUpdater *)update; 86 | 87 | // Sent immediately before installing the specified update. 88 | - (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update; 89 | 90 | // Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue. 91 | - (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation; 92 | 93 | // Called immediately before relaunching. 94 | - (void)updaterWillRelaunchApplication:(SUUpdater *)updater; 95 | 96 | // This method allows you to provide a custom version comparator. 97 | // If you don't implement this method or return nil, the standard version comparator will be used. 98 | - (id )versionComparatorForUpdater:(SUUpdater *)updater; 99 | 100 | // Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle. 101 | - (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater; 102 | 103 | @end 104 | 105 | // Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds. 106 | #ifdef DEBUG 107 | #define SU_MIN_CHECK_INTERVAL 60 108 | #else 109 | #define SU_MIN_CHECK_INTERVAL 60*60 110 | #endif 111 | 112 | #ifdef DEBUG 113 | #define SU_DEFAULT_CHECK_INTERVAL 60 114 | #else 115 | #define SU_DEFAULT_CHECK_INTERVAL 60*60*24 116 | #endif 117 | 118 | #endif 119 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionComparisonProtocol.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 12/21/07. 6 | // Copyright 2007 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H 10 | #define SUVERSIONCOMPARISONPROTOCOL_H 11 | 12 | /*! 13 | @protocol 14 | @abstract Implement this protocol to provide version comparison facilities for Sparkle. 15 | */ 16 | @protocol SUVersionComparison 17 | 18 | /*! 19 | @method 20 | @abstract An abstract method to compare two version strings. 21 | @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent. 22 | */ 23 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; 24 | 25 | @end 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/Sparkle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Sparkle.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SPARKLE_H 10 | #define SPARKLE_H 11 | 12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless 13 | // there are name-space collisions) so we can list all of them to start with: 14 | 15 | #import 16 | 17 | #import 18 | #import 19 | #import 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | Sparkle 9 | CFBundleIdentifier 10 | org.andymatuschak.Sparkle 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | Sparkle 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5 Beta 6 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 313 23 | 24 | 25 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006 Andy Matuschak 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ADP2,1 6 | Developer Transition Kit 7 | MacBook1,1 8 | MacBook (Core Duo) 9 | MacBook2,1 10 | MacBook (Core 2 Duo) 11 | MacBook4,1 12 | MacBook (Core 2 Duo Feb 2008) 13 | MacBookAir1,1 14 | MacBook Air (January 2008) 15 | MacBookPro1,1 16 | MacBook Pro Core Duo (15-inch) 17 | MacBookPro1,2 18 | MacBook Pro Core Duo (17-inch) 19 | MacBookPro2,1 20 | MacBook Pro Core 2 Duo (17-inch) 21 | MacBookPro2,2 22 | MacBook Pro Core 2 Duo (15-inch) 23 | MacBookPro3,1 24 | MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo) 25 | MacBookPro3,2 26 | MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo) 27 | MacBookPro4,1 28 | MacBook Pro (Core 2 Duo Feb 2008) 29 | MacPro1,1 30 | Mac Pro (four-core) 31 | MacPro2,1 32 | Mac Pro (eight-core) 33 | MacPro3,1 34 | Mac Pro (January 2008 4- or 8- core "Harpertown") 35 | Macmini1,1 36 | Mac Mini (Core Solo/Duo) 37 | PowerBook1,1 38 | PowerBook G3 39 | PowerBook2,1 40 | iBook G3 41 | PowerBook2,2 42 | iBook G3 (FireWire) 43 | PowerBook2,3 44 | iBook G3 45 | PowerBook2,4 46 | iBook G3 47 | PowerBook3,1 48 | PowerBook G3 (FireWire) 49 | PowerBook3,2 50 | PowerBook G4 51 | PowerBook3,3 52 | PowerBook G4 (Gigabit Ethernet) 53 | PowerBook3,4 54 | PowerBook G4 (DVI) 55 | PowerBook3,5 56 | PowerBook G4 (1GHz / 867MHz) 57 | PowerBook4,1 58 | iBook G3 (Dual USB, Late 2001) 59 | PowerBook4,2 60 | iBook G3 (16MB VRAM) 61 | PowerBook4,3 62 | iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003) 63 | PowerBook5,1 64 | PowerBook G4 (17 inch) 65 | PowerBook5,2 66 | PowerBook G4 (15 inch FW 800) 67 | PowerBook5,3 68 | PowerBook G4 (17-inch 1.33GHz) 69 | PowerBook5,4 70 | PowerBook G4 (15 inch 1.5/1.33GHz) 71 | PowerBook5,5 72 | PowerBook G4 (17-inch 1.5GHz) 73 | PowerBook5,6 74 | PowerBook G4 (15 inch 1.67GHz/1.5GHz) 75 | PowerBook5,7 76 | PowerBook G4 (17-inch 1.67GHz) 77 | PowerBook5,8 78 | PowerBook G4 (Double layer SD, 15 inch) 79 | PowerBook5,9 80 | PowerBook G4 (Double layer SD, 17 inch) 81 | PowerBook6,1 82 | PowerBook G4 (12 inch) 83 | PowerBook6,2 84 | PowerBook G4 (12 inch, DVI) 85 | PowerBook6,3 86 | iBook G4 87 | PowerBook6,4 88 | PowerBook G4 (12 inch 1.33GHz) 89 | PowerBook6,5 90 | iBook G4 (Early-Late 2004) 91 | PowerBook6,7 92 | iBook G4 (Mid 2005) 93 | PowerBook6,8 94 | PowerBook G4 (12 inch 1.5GHz) 95 | PowerMac1,1 96 | Power Macintosh G3 (Blue & White) 97 | PowerMac1,2 98 | Power Macintosh G4 (PCI Graphics) 99 | PowerMac10,1 100 | Mac Mini G4 101 | PowerMac10,2 102 | Mac Mini (Late 2005) 103 | PowerMac11,2 104 | Power Macintosh G5 (Late 2005) 105 | PowerMac12,1 106 | iMac G5 (iSight) 107 | PowerMac2,1 108 | iMac G3 (Slot-loading CD-ROM) 109 | PowerMac2,2 110 | iMac G3 (Summer 2000) 111 | PowerMac3,1 112 | Power Macintosh G4 (AGP Graphics) 113 | PowerMac3,2 114 | Power Macintosh G4 (AGP Graphics) 115 | PowerMac3,3 116 | Power Macintosh G4 (Gigabit Ethernet) 117 | PowerMac3,4 118 | Power Macintosh G4 (Digital Audio) 119 | PowerMac3,5 120 | Power Macintosh G4 (Quick Silver) 121 | PowerMac3,6 122 | Power Macintosh G4 (Mirrored Drive Door) 123 | PowerMac4,1 124 | iMac G3 (Early/Summer 2001) 125 | PowerMac4,2 126 | iMac G4 (Flat Panel) 127 | PowerMac4,4 128 | eMac 129 | PowerMac4,5 130 | iMac G4 (17-inch Flat Panel) 131 | PowerMac5,1 132 | Power Macintosh G4 Cube 133 | PowerMac6,1 134 | iMac G4 (USB 2.0) 135 | PowerMac6,3 136 | iMac G4 (20-inch Flat Panel) 137 | PowerMac6,4 138 | eMac (USB 2.0, 2005) 139 | PowerMac7,2 140 | Power Macintosh G5 141 | PowerMac7,3 142 | Power Macintosh G5 143 | PowerMac8,1 144 | iMac G5 145 | PowerMac8,2 146 | iMac G5 (Ambient Light Sensor) 147 | PowerMac9,1 148 | Power Macintosh G5 (Late 2005) 149 | RackMac1,1 150 | Xserve G4 151 | RackMac1,2 152 | Xserve G4 (slot-loading, cluster node) 153 | RackMac3,1 154 | Xserve G5 155 | Xserve1,1 156 | Xserve (Intel Xeon) 157 | Xserve2,1 158 | Xserve (January 2008 quad-core) 159 | iMac1,1 160 | iMac G3 (Rev A-D) 161 | iMac4,1 162 | iMac (Core Duo) 163 | iMac4,2 164 | iMac for Education (17-inch, Core Duo) 165 | iMac5,1 166 | iMac (Core 2 Duo, 17 or 20 inch, SuperDrive) 167 | iMac5,2 168 | iMac (Core 2 Duo, 17 inch, Combo Drive) 169 | iMac6,1 170 | iMac (Core 2 Duo, 24 inch, SuperDrive) 171 | iMac8,1 172 | iMac (April 2008) 173 | 174 | 175 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | CLASS 25 | FirstResponder 26 | LANGUAGE 27 | ObjC 28 | SUPERCLASS 29 | NSObject 30 | 31 | 32 | CLASS 33 | NSObject 34 | LANGUAGE 35 | ObjC 36 | 37 | 38 | CLASS 39 | SUStatusController 40 | LANGUAGE 41 | ObjC 42 | OUTLETS 43 | 44 | actionButton 45 | NSButton 46 | progressBar 47 | NSProgressIndicator 48 | 49 | SUPERCLASS 50 | SUWindowController 51 | 52 | 53 | IBVersion 54 | 1 55 | 56 | 57 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | ACTIONS 25 | 26 | installUpdate 27 | id 28 | remindMeLater 29 | id 30 | skipThisVersion 31 | id 32 | 33 | CLASS 34 | SUUpdateAlert 35 | LANGUAGE 36 | ObjC 37 | OUTLETS 38 | 39 | delegate 40 | id 41 | description 42 | NSTextField 43 | releaseNotesView 44 | WebView 45 | 46 | SUPERCLASS 47 | SUWindowController 48 | 49 | 50 | CLASS 51 | FirstResponder 52 | LANGUAGE 53 | ObjC 54 | SUPERCLASS 55 | NSObject 56 | 57 | 58 | CLASS 59 | NSObject 60 | LANGUAGE 61 | ObjC 62 | 63 | 64 | IBVersion 65 | 1 66 | 67 | 68 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | finishPrompt 19 | id 20 | toggleMoreInfo 21 | id 22 | 23 | CLASS 24 | SUUpdatePermissionPrompt 25 | LANGUAGE 26 | ObjC 27 | OUTLETS 28 | 29 | delegate 30 | id 31 | descriptionTextField 32 | NSTextField 33 | moreInfoButton 34 | NSButton 35 | moreInfoView 36 | NSView 37 | 38 | SUPERCLASS 39 | SUWindowController 40 | 41 | 42 | CLASS 43 | FirstResponder 44 | LANGUAGE 45 | ObjC 46 | SUPERCLASS 47 | NSObject 48 | 49 | 50 | CLASS 51 | NSObject 52 | LANGUAGE 53 | ObjC 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 658 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9C7010 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | ACTIONS 25 | 26 | installUpdate 27 | id 28 | remindMeLater 29 | id 30 | skipThisVersion 31 | id 32 | 33 | CLASS 34 | SUUpdateAlert 35 | LANGUAGE 36 | ObjC 37 | OUTLETS 38 | 39 | delegate 40 | id 41 | description 42 | NSTextField 43 | releaseNotesView 44 | WebView 45 | 46 | SUPERCLASS 47 | SUWindowController 48 | 49 | 50 | CLASS 51 | FirstResponder 52 | LANGUAGE 53 | ObjC 54 | SUPERCLASS 55 | NSObject 56 | 57 | 58 | CLASS 59 | NSObject 60 | LANGUAGE 61 | ObjC 62 | 63 | 64 | IBVersion 65 | 1 66 | 67 | 68 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 18 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | finishPrompt 19 | id 20 | toggleMoreInfo 21 | id 22 | 23 | CLASS 24 | SUUpdatePermissionPrompt 25 | LANGUAGE 26 | ObjC 27 | OUTLETS 28 | 29 | delegate 30 | id 31 | descriptionTextField 32 | NSTextField 33 | moreInfoButton 34 | NSButton 35 | moreInfoView 36 | NSView 37 | 38 | SUPERCLASS 39 | SUWindowController 40 | 41 | 42 | CLASS 43 | FirstResponder 44 | LANGUAGE 45 | ObjC 46 | SUPERCLASS 47 | NSObject 48 | 49 | 50 | CLASS 51 | NSObject 52 | LANGUAGE 53 | ObjC 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 41 15 | 16 | IBSystem Version 17 | 10A96 18 | targetFramework 19 | IBCocoaFramework 20 | 21 | 22 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | ACTIONS 25 | 26 | installUpdate 27 | id 28 | remindMeLater 29 | id 30 | skipThisVersion 31 | id 32 | 33 | CLASS 34 | SUUpdateAlert 35 | LANGUAGE 36 | ObjC 37 | OUTLETS 38 | 39 | delegate 40 | id 41 | description 42 | NSTextField 43 | releaseNotesView 44 | WebView 45 | 46 | SUPERCLASS 47 | SUWindowController 48 | 49 | 50 | CLASS 51 | FirstResponder 52 | LANGUAGE 53 | ObjC 54 | SUPERCLASS 55 | NSObject 56 | 57 | 58 | CLASS 59 | NSObject 60 | LANGUAGE 61 | ObjC 62 | 63 | 64 | IBVersion 65 | 1 66 | 67 | 68 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | finishPrompt 19 | id 20 | toggleMoreInfo 21 | id 22 | 23 | CLASS 24 | SUUpdatePermissionPrompt 25 | LANGUAGE 26 | ObjC 27 | OUTLETS 28 | 29 | delegate 30 | id 31 | descriptionTextField 32 | NSTextField 33 | moreInfoButton 34 | NSButton 35 | moreInfoView 36 | NSView 37 | 38 | SUPERCLASS 39 | SUWindowController 40 | 41 | 42 | CLASS 43 | FirstResponder 44 | LANGUAGE 45 | ObjC 46 | SUPERCLASS 47 | NSObject 48 | 49 | 50 | CLASS 51 | NSObject 52 | LANGUAGE 53 | ObjC 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9D34 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | ACTIONS 25 | 26 | installUpdate 27 | id 28 | remindMeLater 29 | id 30 | skipThisVersion 31 | id 32 | 33 | CLASS 34 | SUUpdateAlert 35 | LANGUAGE 36 | ObjC 37 | OUTLETS 38 | 39 | delegate 40 | id 41 | description 42 | NSTextField 43 | releaseNotesView 44 | WebView 45 | 46 | SUPERCLASS 47 | SUWindowController 48 | 49 | 50 | CLASS 51 | FirstResponder 52 | LANGUAGE 53 | ObjC 54 | SUPERCLASS 55 | NSObject 56 | 57 | 58 | CLASS 59 | NSObject 60 | LANGUAGE 61 | ObjC 62 | 63 | 64 | IBVersion 65 | 1 66 | 67 | 68 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | finishPrompt 19 | id 20 | toggleMoreInfo 21 | id 22 | 23 | CLASS 24 | SUUpdatePermissionPrompt 25 | LANGUAGE 26 | ObjC 27 | OUTLETS 28 | 29 | delegate 30 | id 31 | descriptionTextField 32 | NSTextField 33 | moreInfoButton 34 | NSButton 35 | moreInfoView 36 | NSView 37 | 38 | SUPERCLASS 39 | SUWindowController 40 | 41 | 42 | CLASS 43 | FirstResponder 44 | LANGUAGE 45 | ObjC 46 | SUPERCLASS 47 | NSObject 48 | 49 | 50 | CLASS 51 | NSObject 52 | LANGUAGE 53 | ObjC 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj: -------------------------------------------------------------------------------- 1 | /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr_CA.lproj: -------------------------------------------------------------------------------- 1 | /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | ACTIONS 25 | 26 | installUpdate 27 | id 28 | remindMeLater 29 | id 30 | skipThisVersion 31 | id 32 | 33 | CLASS 34 | SUUpdateAlert 35 | LANGUAGE 36 | ObjC 37 | OUTLETS 38 | 39 | delegate 40 | id 41 | description 42 | NSTextField 43 | releaseNotesView 44 | WebView 45 | 46 | SUPERCLASS 47 | SUWindowController 48 | 49 | 50 | CLASS 51 | FirstResponder 52 | LANGUAGE 53 | ObjC 54 | SUPERCLASS 55 | NSObject 56 | 57 | 58 | CLASS 59 | NSObject 60 | LANGUAGE 61 | ObjC 62 | 63 | 64 | IBVersion 65 | 1 66 | 67 | 68 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | finishPrompt 19 | id 20 | toggleMoreInfo 21 | id 22 | 23 | CLASS 24 | SUUpdatePermissionPrompt 25 | LANGUAGE 26 | ObjC 27 | OUTLETS 28 | 29 | delegate 30 | id 31 | descriptionTextField 32 | NSTextField 33 | moreInfoButton 34 | NSButton 35 | moreInfoView 36 | NSView 37 | 38 | SUPERCLASS 39 | SUWindowController 40 | 41 | 42 | CLASS 43 | FirstResponder 44 | LANGUAGE 45 | ObjC 46 | SUPERCLASS 47 | NSObject 48 | 49 | 50 | CLASS 51 | NSObject 52 | LANGUAGE 53 | ObjC 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 5 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | 6 12 | 13 | IBSystem Version 14 | 9D34 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | ACTIONS 25 | 26 | installUpdate 27 | id 28 | remindMeLater 29 | id 30 | skipThisVersion 31 | id 32 | 33 | CLASS 34 | SUUpdateAlert 35 | LANGUAGE 36 | ObjC 37 | OUTLETS 38 | 39 | delegate 40 | id 41 | description 42 | NSTextField 43 | releaseNotesView 44 | WebView 45 | 46 | SUPERCLASS 47 | SUWindowController 48 | 49 | 50 | CLASS 51 | FirstResponder 52 | LANGUAGE 53 | ObjC 54 | SUPERCLASS 55 | NSObject 56 | 57 | 58 | CLASS 59 | NSObject 60 | LANGUAGE 61 | ObjC 62 | 63 | 64 | IBVersion 65 | 1 66 | 67 | 68 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | finishPrompt 19 | id 20 | toggleMoreInfo 21 | id 22 | 23 | CLASS 24 | SUUpdatePermissionPrompt 25 | LANGUAGE 26 | ObjC 27 | OUTLETS 28 | 29 | delegate 30 | id 31 | descriptionTextField 32 | NSTextField 33 | moreInfoButton 34 | NSButton 35 | moreInfoView 36 | NSView 37 | 38 | SUPERCLASS 39 | SUWindowController 40 | 41 | 42 | CLASS 43 | FirstResponder 44 | LANGUAGE 45 | ObjC 46 | SUPERCLASS 47 | NSObject 48 | 49 | 50 | CLASS 51 | NSObject 52 | LANGUAGE 53 | ObjC 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/relaunch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/relaunch -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9E17 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | CLASS 17 | NSApplication 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSResponder 22 | 23 | 24 | ACTIONS 25 | 26 | installUpdate 27 | id 28 | remindMeLater 29 | id 30 | skipThisVersion 31 | id 32 | 33 | CLASS 34 | SUUpdateAlert 35 | LANGUAGE 36 | ObjC 37 | OUTLETS 38 | 39 | delegate 40 | id 41 | description 42 | NSTextField 43 | releaseNotesView 44 | WebView 45 | 46 | SUPERCLASS 47 | SUWindowController 48 | 49 | 50 | CLASS 51 | FirstResponder 52 | LANGUAGE 53 | ObjC 54 | SUPERCLASS 55 | NSObject 56 | 57 | 58 | CLASS 59 | NSObject 60 | LANGUAGE 61 | ObjC 62 | 63 | 64 | IBVersion 65 | 1 66 | 67 | 68 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9E17 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | NSObject 10 | LANGUAGE 11 | ObjC 12 | 13 | 14 | CLASS 15 | SUWindowController 16 | LANGUAGE 17 | ObjC 18 | SUPERCLASS 19 | NSWindowController 20 | 21 | 22 | ACTIONS 23 | 24 | finishPrompt 25 | id 26 | toggleMoreInfo 27 | id 28 | 29 | CLASS 30 | SUUpdatePermissionPrompt 31 | LANGUAGE 32 | ObjC 33 | OUTLETS 34 | 35 | delegate 36 | id 37 | descriptionTextField 38 | NSTextField 39 | moreInfoButton 40 | NSButton 41 | moreInfoView 42 | NSView 43 | 44 | SUPERCLASS 45 | SUWindowController 46 | 47 | 48 | CLASS 49 | FirstResponder 50 | LANGUAGE 51 | ObjC 52 | SUPERCLASS 53 | NSObject 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | IBSystem Version 14 | 9E17 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | doNotInstall 19 | id 20 | installLater 21 | id 22 | installNow 23 | id 24 | 25 | CLASS 26 | SUAutomaticUpdateAlert 27 | LANGUAGE 28 | ObjC 29 | SUPERCLASS 30 | SUWindowController 31 | 32 | 33 | CLASS 34 | FirstResponder 35 | LANGUAGE 36 | ObjC 37 | SUPERCLASS 38 | NSObject 39 | 40 | 41 | CLASS 42 | NSObject 43 | LANGUAGE 44 | ObjC 45 | 46 | 47 | IBVersion 48 | 1 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | { 4 | CLASS = FirstResponder; 5 | LANGUAGE = ObjC; 6 | SUPERCLASS = NSObject; 7 | }, 8 | { 9 | CLASS = NSApplication; 10 | LANGUAGE = ObjC; 11 | SUPERCLASS = NSResponder; 12 | }, 13 | { 14 | CLASS = NSObject; 15 | LANGUAGE = ObjC; 16 | }, 17 | { 18 | ACTIONS = { 19 | installUpdate = id; 20 | remindMeLater = id; 21 | skipThisVersion = id; 22 | }; 23 | CLASS = SUUpdateAlert; 24 | LANGUAGE = ObjC; 25 | OUTLETS = { 26 | delegate = id; 27 | description = NSTextField; 28 | releaseNotesView = WebView; 29 | }; 30 | SUPERCLASS = SUWindowController; 31 | }, 32 | { 33 | CLASS = SUWindowController; 34 | LANGUAGE = ObjC; 35 | SUPERCLASS = NSWindowController; 36 | } 37 | ); 38 | IBVersion = 1; 39 | } -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBDocumentLocation 6 | 69 14 356 240 0 0 1280 778 7 | IBFramework Version 8 | 489.0 9 | IBLastKnownRelativeProjectPath 10 | ../Sparkle.xcodeproj 11 | IBOldestOS 12 | 5 13 | IBSystem Version 14 | 9D34 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SUWindowController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSWindowController 14 | 15 | 16 | ACTIONS 17 | 18 | finishPrompt 19 | id 20 | toggleMoreInfo 21 | id 22 | 23 | CLASS 24 | SUUpdatePermissionPrompt 25 | LANGUAGE 26 | ObjC 27 | OUTLETS 28 | 29 | delegate 30 | id 31 | descriptionTextField 32 | NSTextField 33 | moreInfoButton 34 | NSButton 35 | moreInfoView 36 | NSView 37 | 38 | SUPERCLASS 39 | SUWindowController 40 | 41 | 42 | CLASS 43 | FirstResponder 44 | LANGUAGE 45 | ObjC 46 | SUPERCLASS 47 | NSObject 48 | 49 | 50 | CLASS 51 | NSObject 52 | LANGUAGE 53 | ObjC 54 | 55 | 56 | IBVersion 57 | 1 58 | 59 | 60 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Sparkle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgemmell/Shady/a41bfe3352f35dc9bca4274617ee470b69fbaba3/Sparkle.framework/Versions/A/Sparkle -------------------------------------------------------------------------------- /Sparkle.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /dsa_pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQDEgtFLkTvpNi7wYdkwCZ8LLLUgxxKz 3 | VBn+D4a7H6kVPCJju8wA03r5qkMhLFGSQE74CKU3ew/kwFuo31ALVFsITlPvQe77 4 | Dt+NLjrWrwJBLSETIWfA1L2yn1JKWlHSZl6bz9YLxxm5S1YV5cAwFaguHzEmWE+m 5 | 3MhRgss4PT9OqSZe8Mo7jJhuEfmMj30huWGMbyxow/oyHcQ03fHZJUbtud1FLECX 6 | 2BqTtUxRMWg3/nFxHEoHrE1jAPiUesFdYqnUBkK5yGdb0UfbIiBI65x7OLatOBRO 7 | 6tWgqefuJuEol0ildyuJhlizaKjnTPtXDr3Pp72Ij/YCPB5XGfNMxi4lAhUAjJRr 8 | mtZGKwZfgPmk6r9s1jTNOdUCggEAVgJyS/BbwVdV5ks4V/pYAX81vorCd9wST7C8 9 | BrchsIlOsCcErewQCtAyJjxCzYwxseySzl2SXKjhABy2EznP8GF+mbhpJGrLRBWd 10 | lECdfvdUKE7d1XBM66A/7RnE/guab+4JdO1S2E+rCKG0zMGJpnigBJMM++ctol6W 11 | 2rbkL9ZWzfTtPvdxdFMMBvyN8rYv5payMSaKLu3kDFWnVZRxAN+vbx0g5Ci8aGmF 12 | o2tmXLuM3pExSJ8mfRxALII6gqCYhF6q4WqIXKi+jdcMa+vkfHoiHi3dNoPMYduW 13 | /w1gGjNdGkgL0h9qDK87Oh+LgVRDoGRjuzVsgwblL5IUQu/EHAOCAQUAAoIBAFv2 14 | LidkPoZoSFGHzT4L3Dc8AEVvM8rtvx1+BkTnmZe1KLTDjpaXF4545KAoxmrlXZ/0 15 | D7qQEGi1cguK+mW6gMMwfn//szNYQqtEmfVUKNed3AuT5GPQirg1HJIdJsHQCWbR 16 | e7faJ7UZ0lsQJs7Ae4jdCHxK6SY0txglarcBWVwj2GJeCri/V6xC8Uh6gL0UloFn 17 | XTrTMlcxgsrhZfZUVkzqoFzpA+WNh8IaEnkBhQ4KBzTk0d50ikyH41n5IsVSvXvX 18 | yHzIXHUrTJhLVd/brgpsO+pOXmSpILi6tkbfSoGzfmg0eti/klMYDCqrEOx1BUJg 19 | uRV6tDfYlKd6CcpZTMc= 20 | -----END PUBLIC KEY----- 21 | -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Shady 4 | // 5 | // Created by Matt Gemmell on 02/11/2009. 6 | // 7 | 8 | #import 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | return NSApplicationMain(argc, (const char **) argv); 13 | } 14 | --------------------------------------------------------------------------------