├── Maximizer.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata └── Maximizer ├── Maximizer.mm └── SIMBL-Info.plist /Maximizer.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 7D47390913DC183E00DD48F4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DDD76EB13D747F800D5919E /* Cocoa.framework */; }; 11 | 7D47392513DC187200DD48F4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DDD76EB13D747F800D5919E /* Cocoa.framework */; }; 12 | 7D47393313DC192200DD48F4 /* CydiaSubstrate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D47393213DC192200DD48F4 /* CydiaSubstrate.framework */; }; 13 | 7D47393813DC19A400DD48F4 /* Maximizer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7DDD76FE13D7481300D5919E /* Maximizer.mm */; }; 14 | 7D47393913DC19AC00DD48F4 /* Maximizer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7DDD76FE13D7481300D5919E /* Maximizer.mm */; }; 15 | /* End PBXBuildFile section */ 16 | 17 | /* Begin PBXFileReference section */ 18 | 7D47390813DC183E00DD48F4 /* MaximizerSubstrate.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = MaximizerSubstrate.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 19 | 7D47392413DC187200DD48F4 /* MaximizerSIMBL.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MaximizerSIMBL.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 20 | 7D47393213DC192200DD48F4 /* CydiaSubstrate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CydiaSubstrate.framework; path = Library/Frameworks/CydiaSubstrate.framework; sourceTree = SDKROOT; }; 21 | 7DDD76EB13D747F800D5919E /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 22 | 7DDD76EE13D747F800D5919E /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; 23 | 7DDD76EF13D747F800D5919E /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; 24 | 7DDD76F013D747F800D5919E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 25 | 7DDD76F313D747F800D5919E /* SIMBL-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SIMBL-Info.plist"; sourceTree = ""; }; 26 | 7DDD76FE13D7481300D5919E /* Maximizer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Maximizer.mm; sourceTree = ""; }; 27 | /* End PBXFileReference section */ 28 | 29 | /* Begin PBXFrameworksBuildPhase section */ 30 | 7D47390513DC183E00DD48F4 /* Frameworks */ = { 31 | isa = PBXFrameworksBuildPhase; 32 | buildActionMask = 2147483647; 33 | files = ( 34 | 7D47393313DC192200DD48F4 /* CydiaSubstrate.framework in Frameworks */, 35 | 7D47390913DC183E00DD48F4 /* Cocoa.framework in Frameworks */, 36 | ); 37 | runOnlyForDeploymentPostprocessing = 0; 38 | }; 39 | 7D47392113DC187200DD48F4 /* Frameworks */ = { 40 | isa = PBXFrameworksBuildPhase; 41 | buildActionMask = 2147483647; 42 | files = ( 43 | 7D47392513DC187200DD48F4 /* Cocoa.framework in Frameworks */, 44 | ); 45 | runOnlyForDeploymentPostprocessing = 0; 46 | }; 47 | /* End PBXFrameworksBuildPhase section */ 48 | 49 | /* Begin PBXGroup section */ 50 | 7DDD76DD13D747F800D5919E = { 51 | isa = PBXGroup; 52 | children = ( 53 | 7DDD76F113D747F800D5919E /* Maximizer */, 54 | 7DDD76EA13D747F800D5919E /* Frameworks */, 55 | 7DDD76E913D747F800D5919E /* Products */, 56 | ); 57 | sourceTree = ""; 58 | }; 59 | 7DDD76E913D747F800D5919E /* Products */ = { 60 | isa = PBXGroup; 61 | children = ( 62 | 7D47390813DC183E00DD48F4 /* MaximizerSubstrate.dylib */, 63 | 7D47392413DC187200DD48F4 /* MaximizerSIMBL.bundle */, 64 | ); 65 | name = Products; 66 | sourceTree = ""; 67 | }; 68 | 7DDD76EA13D747F800D5919E /* Frameworks */ = { 69 | isa = PBXGroup; 70 | children = ( 71 | 7D47393213DC192200DD48F4 /* CydiaSubstrate.framework */, 72 | 7DDD76EB13D747F800D5919E /* Cocoa.framework */, 73 | 7DDD76EE13D747F800D5919E /* AppKit.framework */, 74 | 7DDD76EF13D747F800D5919E /* CoreData.framework */, 75 | 7DDD76F013D747F800D5919E /* Foundation.framework */, 76 | ); 77 | name = Frameworks; 78 | sourceTree = ""; 79 | }; 80 | 7DDD76F113D747F800D5919E /* Maximizer */ = { 81 | isa = PBXGroup; 82 | children = ( 83 | 7DDD76FE13D7481300D5919E /* Maximizer.mm */, 84 | 7DDD76F313D747F800D5919E /* SIMBL-Info.plist */, 85 | ); 86 | path = Maximizer; 87 | sourceTree = ""; 88 | }; 89 | /* End PBXGroup section */ 90 | 91 | /* Begin PBXHeadersBuildPhase section */ 92 | 7D47390613DC183E00DD48F4 /* Headers */ = { 93 | isa = PBXHeadersBuildPhase; 94 | buildActionMask = 2147483647; 95 | files = ( 96 | ); 97 | runOnlyForDeploymentPostprocessing = 0; 98 | }; 99 | /* End PBXHeadersBuildPhase section */ 100 | 101 | /* Begin PBXNativeTarget section */ 102 | 7D47390713DC183E00DD48F4 /* MaximizerSubstrate */ = { 103 | isa = PBXNativeTarget; 104 | buildConfigurationList = 7D47391013DC183E00DD48F4 /* Build configuration list for PBXNativeTarget "MaximizerSubstrate" */; 105 | buildPhases = ( 106 | 7D47390413DC183E00DD48F4 /* Sources */, 107 | 7D47390513DC183E00DD48F4 /* Frameworks */, 108 | 7D47390613DC183E00DD48F4 /* Headers */, 109 | ); 110 | buildRules = ( 111 | ); 112 | dependencies = ( 113 | ); 114 | name = MaximizerSubstrate; 115 | productName = MaximizerSubstrate; 116 | productReference = 7D47390813DC183E00DD48F4 /* MaximizerSubstrate.dylib */; 117 | productType = "com.apple.product-type.library.dynamic"; 118 | }; 119 | 7D47392313DC187200DD48F4 /* MaximizerSIMBL */ = { 120 | isa = PBXNativeTarget; 121 | buildConfigurationList = 7D47392D13DC187200DD48F4 /* Build configuration list for PBXNativeTarget "MaximizerSIMBL" */; 122 | buildPhases = ( 123 | 7D47392013DC187200DD48F4 /* Sources */, 124 | 7D47392113DC187200DD48F4 /* Frameworks */, 125 | 7D47392213DC187200DD48F4 /* Resources */, 126 | ); 127 | buildRules = ( 128 | ); 129 | dependencies = ( 130 | ); 131 | name = MaximizerSIMBL; 132 | productName = MaximizerSIMBL; 133 | productReference = 7D47392413DC187200DD48F4 /* MaximizerSIMBL.bundle */; 134 | productType = "com.apple.product-type.bundle"; 135 | }; 136 | /* End PBXNativeTarget section */ 137 | 138 | /* Begin PBXProject section */ 139 | 7DDD76DF13D747F800D5919E /* Project object */ = { 140 | isa = PBXProject; 141 | attributes = { 142 | LastUpgradeCheck = 0420; 143 | }; 144 | buildConfigurationList = 7DDD76E213D747F800D5919E /* Build configuration list for PBXProject "Maximizer" */; 145 | compatibilityVersion = "Xcode 3.2"; 146 | developmentRegion = English; 147 | hasScannedForEncodings = 0; 148 | knownRegions = ( 149 | en, 150 | ); 151 | mainGroup = 7DDD76DD13D747F800D5919E; 152 | productRefGroup = 7DDD76E913D747F800D5919E /* Products */; 153 | projectDirPath = ""; 154 | projectRoot = ""; 155 | targets = ( 156 | 7D47390713DC183E00DD48F4 /* MaximizerSubstrate */, 157 | 7D47392313DC187200DD48F4 /* MaximizerSIMBL */, 158 | ); 159 | }; 160 | /* End PBXProject section */ 161 | 162 | /* Begin PBXResourcesBuildPhase section */ 163 | 7D47392213DC187200DD48F4 /* Resources */ = { 164 | isa = PBXResourcesBuildPhase; 165 | buildActionMask = 2147483647; 166 | files = ( 167 | ); 168 | runOnlyForDeploymentPostprocessing = 0; 169 | }; 170 | /* End PBXResourcesBuildPhase section */ 171 | 172 | /* Begin PBXSourcesBuildPhase section */ 173 | 7D47390413DC183E00DD48F4 /* Sources */ = { 174 | isa = PBXSourcesBuildPhase; 175 | buildActionMask = 2147483647; 176 | files = ( 177 | 7D47393813DC19A400DD48F4 /* Maximizer.mm in Sources */, 178 | ); 179 | runOnlyForDeploymentPostprocessing = 0; 180 | }; 181 | 7D47392013DC187200DD48F4 /* Sources */ = { 182 | isa = PBXSourcesBuildPhase; 183 | buildActionMask = 2147483647; 184 | files = ( 185 | 7D47393913DC19AC00DD48F4 /* Maximizer.mm in Sources */, 186 | ); 187 | runOnlyForDeploymentPostprocessing = 0; 188 | }; 189 | /* End PBXSourcesBuildPhase section */ 190 | 191 | /* Begin XCBuildConfiguration section */ 192 | 7D47391113DC183E00DD48F4 /* Debug */ = { 193 | isa = XCBuildConfiguration; 194 | buildSettings = { 195 | ALWAYS_SEARCH_USER_PATHS = NO; 196 | DYLIB_COMPATIBILITY_VERSION = 1; 197 | DYLIB_CURRENT_VERSION = 1; 198 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 199 | GCC_PREPROCESSOR_DEFINITIONS = ( 200 | "SUBSTRATE=1", 201 | "DEBUG=1", 202 | ); 203 | PRODUCT_NAME = "$(TARGET_NAME)"; 204 | }; 205 | name = Debug; 206 | }; 207 | 7D47391213DC183E00DD48F4 /* Release */ = { 208 | isa = XCBuildConfiguration; 209 | buildSettings = { 210 | ALWAYS_SEARCH_USER_PATHS = NO; 211 | DYLIB_COMPATIBILITY_VERSION = 1; 212 | DYLIB_CURRENT_VERSION = 1; 213 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 214 | GCC_PREPROCESSOR_DEFINITIONS = "SUBSTRATE=1"; 215 | PRODUCT_NAME = "$(TARGET_NAME)"; 216 | }; 217 | name = Release; 218 | }; 219 | 7D47392E13DC187200DD48F4 /* Debug */ = { 220 | isa = XCBuildConfiguration; 221 | buildSettings = { 222 | ALWAYS_SEARCH_USER_PATHS = NO; 223 | GCC_PREPROCESSOR_DEFINITIONS = ( 224 | "DEBUG=1", 225 | "SIMBL=1", 226 | ); 227 | INFOPLIST_FILE = "Maximizer/SIMBL-Info.plist"; 228 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; 229 | PRODUCT_NAME = "$(TARGET_NAME)"; 230 | WRAPPER_EXTENSION = bundle; 231 | }; 232 | name = Debug; 233 | }; 234 | 7D47392F13DC187200DD48F4 /* Release */ = { 235 | isa = XCBuildConfiguration; 236 | buildSettings = { 237 | ALWAYS_SEARCH_USER_PATHS = NO; 238 | GCC_PREPROCESSOR_DEFINITIONS = "SIMBL=1"; 239 | INFOPLIST_FILE = "Maximizer/SIMBL-Info.plist"; 240 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; 241 | PRODUCT_NAME = "$(TARGET_NAME)"; 242 | WRAPPER_EXTENSION = bundle; 243 | }; 244 | name = Release; 245 | }; 246 | 7DDD76F813D747F800D5919E /* Debug */ = { 247 | isa = XCBuildConfiguration; 248 | buildSettings = { 249 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 250 | CLANG_ENABLE_OBJC_ARC = NO; 251 | COPY_PHASE_STRIP = NO; 252 | GCC_C_LANGUAGE_STANDARD = gnu99; 253 | GCC_DYNAMIC_NO_PIC = NO; 254 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 255 | GCC_OPTIMIZATION_LEVEL = 0; 256 | GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; 257 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 258 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 259 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 260 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 261 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 262 | GCC_WARN_UNUSED_VARIABLE = YES; 263 | MACOSX_DEPLOYMENT_TARGET = 10.7; 264 | ONLY_ACTIVE_ARCH = NO; 265 | SDKROOT = macosx; 266 | }; 267 | name = Debug; 268 | }; 269 | 7DDD76F913D747F800D5919E /* Release */ = { 270 | isa = XCBuildConfiguration; 271 | buildSettings = { 272 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 273 | CLANG_ENABLE_OBJC_ARC = NO; 274 | COPY_PHASE_STRIP = YES; 275 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 276 | GCC_C_LANGUAGE_STANDARD = gnu99; 277 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 278 | GCC_PREPROCESSOR_DEFINITIONS = ""; 279 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 280 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 281 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 282 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 283 | GCC_WARN_UNUSED_VARIABLE = YES; 284 | MACOSX_DEPLOYMENT_TARGET = 10.7; 285 | SDKROOT = macosx; 286 | }; 287 | name = Release; 288 | }; 289 | /* End XCBuildConfiguration section */ 290 | 291 | /* Begin XCConfigurationList section */ 292 | 7D47391013DC183E00DD48F4 /* Build configuration list for PBXNativeTarget "MaximizerSubstrate" */ = { 293 | isa = XCConfigurationList; 294 | buildConfigurations = ( 295 | 7D47391113DC183E00DD48F4 /* Debug */, 296 | 7D47391213DC183E00DD48F4 /* Release */, 297 | ); 298 | defaultConfigurationIsVisible = 0; 299 | defaultConfigurationName = Release; 300 | }; 301 | 7D47392D13DC187200DD48F4 /* Build configuration list for PBXNativeTarget "MaximizerSIMBL" */ = { 302 | isa = XCConfigurationList; 303 | buildConfigurations = ( 304 | 7D47392E13DC187200DD48F4 /* Debug */, 305 | 7D47392F13DC187200DD48F4 /* Release */, 306 | ); 307 | defaultConfigurationIsVisible = 0; 308 | defaultConfigurationName = Release; 309 | }; 310 | 7DDD76E213D747F800D5919E /* Build configuration list for PBXProject "Maximizer" */ = { 311 | isa = XCConfigurationList; 312 | buildConfigurations = ( 313 | 7DDD76F813D747F800D5919E /* Debug */, 314 | 7DDD76F913D747F800D5919E /* Release */, 315 | ); 316 | defaultConfigurationIsVisible = 0; 317 | defaultConfigurationName = Release; 318 | }; 319 | /* End XCConfigurationList section */ 320 | }; 321 | rootObject = 7DDD76DF13D747F800D5919E /* Project object */; 322 | } 323 | -------------------------------------------------------------------------------- /Maximizer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Maximizer/Maximizer.mm: -------------------------------------------------------------------------------- 1 | // 2 | // Maximizer.m 3 | // Maximizer 4 | // 5 | // Created by Grant Paul on 07/16/11. 6 | // Copyright 2011 Xuzz Productions, LLC. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | #ifdef SUBSTRATE 13 | #import 14 | #endif 15 | 16 | static BOOL window_is_fullscreen(NSWindow *window) { 17 | return !!([window styleMask] & NSFullScreenWindowMask); 18 | } 19 | 20 | // can this window go fullscreen? 21 | static BOOL is_supported_window(NSWindow *window) { 22 | // a good test is to see if a window has the (+) button in the titlebar 23 | if (!([window styleMask] & NSResizableWindowMask)) return NO; 24 | 25 | NSString *className = NSStringFromClass([window class]); 26 | 27 | // ignore private windows, probably a good idea? 28 | if ([className hasPrefix:@"_"]) return NO; 29 | 30 | // fix Mail compose windows 31 | if ([className isEqualToString:@"ModalDimmingWindow"]) return NO; 32 | if ([className isEqualToString:@"TypeAheadWindow"]) return NO; 33 | if ([className isEqualToString:@"MouseTrackingWindow"]) return NO; 34 | 35 | // panels are supposedly "auxiliary" windows 36 | if ([window isKindOfClass:NSClassFromString(@"NSPanel")]) return NO; 37 | 38 | return YES; 39 | } 40 | 41 | static id (*original_window_initwithcontentrect_stylemask_backing_defer)(NSWindow *self, SEL _cmd, NSRect contentRect, NSUInteger windowStyle, NSBackingStoreType bufferingType, BOOL deferCreation); 42 | static id window_initwithcontentrect_stylemask_backing_defer(NSWindow *self, SEL _cmd, NSRect contentRect, NSUInteger windowStyle, NSBackingStoreType bufferingType, BOOL deferCreation) { 43 | self = original_window_initwithcontentrect_stylemask_backing_defer(self, _cmd, contentRect, windowStyle, bufferingType, deferCreation); 44 | 45 | // run this on the next runloop iteration because we might want 46 | // to check is_supported_window() after the window has been setup 47 | dispatch_async(dispatch_get_main_queue(), ^{ 48 | if (is_supported_window(self)) { 49 | #ifdef DEBUG 50 | // This is useful to determinte the class of malfunctioning NSWindow instances. 51 | NSLog(@"Maximizer: Supported window created of class: %@", [self class]); 52 | #endif 53 | 54 | // this adds the full-screen behaviors, keeping the old ones 55 | [self setCollectionBehavior:[self collectionBehavior]]; 56 | } else { 57 | #ifdef DEBUG 58 | // This is useful to determinte the class of unsupported-but-should-be NSWindow instances. 59 | NSLog(@"Maximizer: Unsupported window created of class: %@", [self class]); 60 | #endif 61 | } 62 | }); 63 | 64 | return self; 65 | } 66 | 67 | static void (*original_window_setcollectionbehavior)(NSWindow *self, SEL _cmd, NSWindowCollectionBehavior behavior); 68 | static void window_setcollectionbehavior(NSWindow *self, SEL _cmd, NSWindowCollectionBehavior behavior) { 69 | if (is_supported_window(self)) { 70 | behavior |= NSWindowCollectionBehaviorFullScreenPrimary; 71 | } 72 | 73 | original_window_setcollectionbehavior(self, _cmd, behavior); 74 | } 75 | 76 | static void hook_class(Class cls, SEL selector, IMP replacement, IMP *original) { 77 | #if defined(SUBSTRATE) 78 | MSHookMessageEx(cls, selector, replacement, original); 79 | #elif defined(SIMBL) 80 | if (cls == nil || selector == NULL || replacement == NULL) { 81 | NSLog(@"ERROR: Couldn't hook because a required argument was nil or NULL."); 82 | return; 83 | } 84 | 85 | Method method = class_getInstanceMethod(cls, selector); 86 | 87 | if (method == NULL) { 88 | NSLog(@"ERROR: Unable to find method [%@ %@].", cls, NSStringFromSelector(selector)); 89 | return; 90 | } 91 | 92 | IMP result = method_setImplementation(method, replacement); 93 | 94 | if (original != NULL) { 95 | *original = result; 96 | } 97 | #else 98 | #error "Must use either CydiaSubstrate or SIMBL." 99 | #endif 100 | } 101 | 102 | static void add_to_class(Class cls, SEL selector, IMP implementation, const char *encoding) { 103 | BOOL success = class_addMethod(cls, selector, implementation, encoding); 104 | 105 | if (!success) { 106 | NSLog(@"ERROR: Unable to add [%@ %@].", cls, NSStringFromSelector(selector)); 107 | return; 108 | } 109 | } 110 | 111 | #if defined(SUBSTRATE) 112 | __attribute__((constructor)) static void maximizer_init() 113 | #elif defined(SIMBL) 114 | @interface Maximizer : NSObject { } 115 | @end 116 | 117 | @implementation Maximizer 118 | + (void)load 119 | #else 120 | #error "Must use either CydiaSubstrate or SIMBL." 121 | #endif 122 | 123 | { 124 | #ifdef DEBUG 125 | NSLog(@"Loading Maximizer into bundle: %@", [[NSBundle mainBundle] bundleIdentifier]); 126 | #endif 127 | 128 | hook_class([NSWindow class], @selector(initWithContentRect:styleMask:backing:defer:), (IMP) window_initwithcontentrect_stylemask_backing_defer, (IMP *) &original_window_initwithcontentrect_stylemask_backing_defer); 129 | hook_class([NSWindow class], @selector(setCollectionBehavior:), (IMP) window_setcollectionbehavior, (IMP *) &original_window_setcollectionbehavior); 130 | 131 | #ifdef SIMBL 132 | for (NSWindow *window in [[NSApplication sharedApplication] windows]) { 133 | if (is_supported_window(window)) { 134 | // the hook for this adds the zoom button 135 | [window setCollectionBehavior:[window collectionBehavior]]; 136 | } 137 | } 138 | #endif 139 | } 140 | 141 | #ifdef SIMBL 142 | @end 143 | #endif 144 | 145 | 146 | -------------------------------------------------------------------------------- /Maximizer/SIMBL-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.chpwn.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | NSHumanReadableCopyright 26 | Copyright © 2011 Xuzz Productions, LLC. All rights reserved. 27 | SIMBLTargetApplications 28 | 29 | 30 | BundleIdentifier 31 | * 32 | MaxBundleVersion 33 | * 34 | MinBundleVersion 35 | * 36 | 37 | 38 | NSPrincipalClass 39 | Maximizer 40 | 41 | 42 | --------------------------------------------------------------------------------