diff --git a/LISCENSE b/LISCENSE new file mode 100755 index 0000000..c6eba3b --- /dev/null +++ b/LISCENSE @@ -0,0 +1,10 @@ +Copyright (c) 2015 - 2017 Wolfgang Baird
 +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/SIMBLHelper/AppDelegate.m b/SIMBLHelper/AppDelegate.m index 9bf300f..186f698 100755 --- a/SIMBLHelper/AppDelegate.m +++ b/SIMBLHelper/AppDelegate.m @@ -32,11 +32,9 @@ - (void)checkForUpdates { NSURL *appurl = [[NSWorkspace sharedWorkspace] URLForApplicationWithBundleIdentifier:@"org.w0lf.mySIMBL"]; NSBundle *GUIBundle = [NSBundle bundleWithURL:appurl]; SUUpdater *myUpdater = [SUUpdater updaterForBundle:GUIBundle]; - if ([myUpdater feedURL]) - { + if ([myUpdater feedURL]) { NSDictionary *GUIDefaults = [[NSUserDefaults standardUserDefaults] persistentDomainForName:@"org.w0lf.mySIMBL"]; - if (![[GUIDefaults objectForKey:@"SUHasLaunchedBefore"] boolValue]) - { + if (![[GUIDefaults objectForKey:@"SUHasLaunchedBefore"] boolValue]) { [myUpdater setAutomaticallyChecksForUpdates:true]; [myUpdater setAutomaticallyDownloadsUpdates:true]; [myUpdater setUpdateCheckInterval:86400]; @@ -48,7 +46,6 @@ - (void)checkForUpdates { - (void)checkSIMBL { Boolean openAPP = false; - SIMBLManager *sim_m = [SIMBLManager sharedInstance]; id comparator = [SUStandardVersionComparator defaultComparator]; NSDictionary* key = [[NSDictionary alloc] init]; @@ -66,10 +63,8 @@ - (void)checkSIMBL { if (result == NSOrderedDescending) openAPP = true; - if (openAPP) - { - if (![[[NSWorkspace sharedWorkspace] runningApplications] containsObject:[[NSRunningApplication runningApplicationsWithBundleIdentifier:@"org.w0lf.mySIMBL"] objectAtIndex:0]]) - { + if (openAPP) { + if (![[[NSWorkspace sharedWorkspace] runningApplications] containsObject:[[NSRunningApplication runningApplicationsWithBundleIdentifier:@"org.w0lf.mySIMBL"] objectAtIndex:0]]) { NSString *path = [[NSBundle bundleWithIdentifier:@"org.w0lf.mySIMBL"] bundlePath]; [[NSWorkspace sharedWorkspace] launchApplication:path]; } diff --git a/SIMBLHelper/Base.lproj/MainMenu.xib b/SIMBLHelper/Base.lproj/MainMenu.xib deleted file mode 100755 index f6ff6fd..0000000 --- a/SIMBLHelper/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SIMBLHelper/Info.plist b/SIMBLHelper/Info.plist index 6aa97ec..e57875b 100755 --- a/SIMBLHelper/Info.plist +++ b/SIMBLHelper/Info.plist @@ -28,8 +28,6 @@ NSHumanReadableCopyright Copyright © 2016 Wolfgang Baird. All rights reserved. - NSMainNibFile - MainMenu NSPrincipalClass NSApplication SUFeedURL diff --git a/SIMBLHelper/main.m b/SIMBLHelper/main.m index e2e450c..31d8999 100755 --- a/SIMBLHelper/main.m +++ b/SIMBLHelper/main.m @@ -6,8 +6,13 @@ // Copyright © 2016 Wolfgang Baird. All rights reserved. // +#import "AppDelegate.h" #import int main(int argc, const char * argv[]) { - return NSApplicationMain(argc, argv); + AppDelegate * delegate = [[AppDelegate alloc] init]; + [[NSApplication sharedApplication] setDelegate:delegate]; + [NSApp run]; + return EXIT_SUCCESS; + // return NSApplicationMain(argc, argv); } diff --git a/mySIMBL.xcodeproj/project.pbxproj b/mySIMBL.xcodeproj/project.pbxproj index d0503b0..2253b38 100755 --- a/mySIMBL.xcodeproj/project.pbxproj +++ b/mySIMBL.xcodeproj/project.pbxproj @@ -11,7 +11,7 @@ FB09A4F71C4B64F80072C553 /* webicon.png in Resources */ = {isa = PBXBuildFile; fileRef = FB09A4F61C4B64F80072C553 /* webicon.png */; }; FB0CF69F1C61D1E9002CF3DE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0CF69E1C61D1E9002CF3DE /* AppDelegate.m */; }; FB0CF6A21C61D1E9002CF3DE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FB0CF6A11C61D1E9002CF3DE /* main.m */; }; - FB0CF6A71C61D1E9002CF3DE /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = FB0CF6A51C61D1E9002CF3DE /* MainMenu.xib */; }; + FB1836441EF78E5A009CAEBC /* discoverTable.m in Sources */ = {isa = PBXBuildFile; fileRef = FB1836431EF78E5A009CAEBC /* discoverTable.m */; }; FB24B09E1C952FF700443CA0 /* pluginTable.m in Sources */ = {isa = PBXBuildFile; fileRef = FB24B09D1C952FF700443CA0 /* pluginTable.m */; }; FB24B0A21C955D2C00443CA0 /* shareClass.m in Sources */ = {isa = PBXBuildFile; fileRef = FB24B0A11C955D2C00443CA0 /* shareClass.m */; }; FB50D3461D4B0C7E004668C0 /* update.png in Resources */ = {isa = PBXBuildFile; fileRef = FB50D3451D4B0C7E004668C0 /* update.png */; }; @@ -75,8 +75,8 @@ FB0CF69D1C61D1E9002CF3DE /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; FB0CF69E1C61D1E9002CF3DE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; FB0CF6A11C61D1E9002CF3DE /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - FB0CF6A61C61D1E9002CF3DE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; FB0CF6A81C61D1E9002CF3DE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FB1836431EF78E5A009CAEBC /* discoverTable.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = discoverTable.m; sourceTree = ""; }; FB24B09D1C952FF700443CA0 /* pluginTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = pluginTable.m; sourceTree = ""; }; FB24B0A11C955D2C00443CA0 /* shareClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = shareClass.m; sourceTree = ""; }; FB24B0A31C955EEC00443CA0 /* shareClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shareClass.h; sourceTree = ""; }; @@ -136,7 +136,8 @@ FB0CF69C1C61D1E9002CF3DE /* mySIMBLHelper */ = { isa = PBXGroup; children = ( - FB0CF6A01C61D1E9002CF3DE /* Supporting Files */, + FBB793531C7AB7C5006BF301 /* dsa_pub.pem */, + FB0CF6A11C61D1E9002CF3DE /* main.m */, FB0CF69D1C61D1E9002CF3DE /* AppDelegate.h */, FB0CF69E1C61D1E9002CF3DE /* AppDelegate.m */, FB0CF6A81C61D1E9002CF3DE /* Info.plist */, @@ -145,16 +146,6 @@ path = SIMBLHelper; sourceTree = ""; }; - FB0CF6A01C61D1E9002CF3DE /* Supporting Files */ = { - isa = PBXGroup; - children = ( - FBB793531C7AB7C5006BF301 /* dsa_pub.pem */, - FB0CF6A51C61D1E9002CF3DE /* MainMenu.xib */, - FB0CF6A11C61D1E9002CF3DE /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; FB57959C1C4DCFA2001A76AC /* Images */ = { isa = PBXGroup; children = ( @@ -219,6 +210,7 @@ children = ( FB24B0A31C955EEC00443CA0 /* shareClass.h */, FB24B0A11C955D2C00443CA0 /* shareClass.m */, + FB1836431EF78E5A009CAEBC /* discoverTable.m */, FB24B09D1C952FF700443CA0 /* pluginTable.m */, FBBF6AF51DFFA6B300BBCF28 /* updatesTable.m */, FBA9EB331C965E9F00511BE3 /* sourcesTable.m */, @@ -339,7 +331,7 @@ FB5F44AB1C41EA4000DE80B4 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0810; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "Wolfgang Baird"; TargetAttributes = { FB0CF69A1C61D1E8002CF3DE = { @@ -381,7 +373,6 @@ buildActionMask = 2147483647; files = ( FBB793541C7AB7C5006BF301 /* dsa_pub.pem in Resources */, - FB0CF6A71C61D1E9002CF3DE /* MainMenu.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -439,6 +430,7 @@ buildActionMask = 2147483647; files = ( FB24B09E1C952FF700443CA0 /* pluginTable.m in Sources */, + FB1836441EF78E5A009CAEBC /* discoverTable.m in Sources */, FBA9EB341C965E9F00511BE3 /* sourcesTable.m in Sources */, FB24B0A21C955D2C00443CA0 /* shareClass.m in Sources */, FB7A4B741DF384B50071589B /* StartAtLoginController.m in Sources */, @@ -455,14 +447,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - FB0CF6A51C61D1E9002CF3DE /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - FB0CF6A61C61D1E9002CF3DE /* Base */, - ); - name = MainMenu.xib; - sourceTree = ""; - }; FB5F44BE1C41EA4000DE80B4 /* Appliaction.xib */ = { isa = PBXVariantGroup; children = ( @@ -486,6 +470,7 @@ ); INFOPLIST_FILE = SIMBLHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../../../../Frameworks/DevMateKit @loader_path/../../../../../Frameworks $(PROJECT_DIR)/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; PRODUCT_BUNDLE_IDENTIFIER = org.w0lf.mySIMBLAgent; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; @@ -505,6 +490,7 @@ ); INFOPLIST_FILE = SIMBLHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../../../../Frameworks/DevMateKit @loader_path/../../../../../Frameworks $(PROJECT_DIR)/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; PRODUCT_BUNDLE_IDENTIFIER = org.w0lf.mySIMBLAgent; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; @@ -521,14 +507,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -568,14 +560,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; diff --git a/mySIMBL.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate b/mySIMBL.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate index e314a9f..8ab329a 100755 Binary files a/mySIMBL.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate and b/mySIMBL.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/mySIMBL.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/SIMBLHelper.xcscheme b/mySIMBL.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/SIMBLHelper.xcscheme index a8ccc59..feb1058 100755 --- a/mySIMBL.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/SIMBLHelper.xcscheme +++ b/mySIMBL.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/SIMBLHelper.xcscheme @@ -1,6 +1,6 @@ 9) - { + if (osx_ver > 9) { [_window setTitlebarAppearsTransparent:true]; _window.styleMask |= NSFullSizeContentViewWindowMask; } [self getBlacklistAPPList]; - + + // Add blurred background if NSVisualEffectView exists Class vibrantClass=NSClassFromString(@"NSVisualEffectView"); - if (vibrantClass) - { + if (vibrantClass) { NSVisualEffectView *vibrant=[[vibrantClass alloc] initWithFrame:[[_window contentView] bounds]]; [vibrant setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; [vibrant setBlendingMode:NSVisualEffectBlendingModeBehindWindow]; @@ -192,7 +191,7 @@ - (void)setupWindow { [self.window.contentView setWantsLayer:YES]; // self.window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameVibrantDark]; - tabViewButtons = [NSArray arrayWithObjects:_viewPlugins, _viewSources, _viewChanges, _viewSIMBL, _viewAbout, _viewPreferences, nil]; + tabViewButtons = [NSArray arrayWithObjects:_viewPlugins, _viewSources, _viewChanges, _viewSIMBL, _viewAccount, _viewAbout, _viewPreferences, nil]; for (NSButton *btn in tabViewButtons) { NSRect frame = [btn frame]; frame.size.height = 1; @@ -207,7 +206,7 @@ - (void)setupWindow { [btn setAction:@selector(selectView:)]; } - NSBox *line = [[NSBox alloc] initWithFrame:CGRectMake(0, _viewSIMBL.frame.origin.y - 1, 125, 1)]; + NSBox *line = [[NSBox alloc] initWithFrame:CGRectMake(0, _viewAccount.frame.origin.y - 1, 125, 1)]; [line setBoxType:NSBoxSeparator]; [_window.contentView addSubview:line]; // @@ -222,7 +221,7 @@ - (void)setupWindow { [btn.layer setBackgroundColor:[NSColor colorWithCalibratedRed:0.438f green:0.121f blue:0.199f alpha:0.258f].CGColor]; } - tabViews = [NSArray arrayWithObjects:_tabPlugins, _tabSources, _tabUpdates, _tabSIMBLInfo, _tabAbout, _tabPreferences, nil]; + tabViews = [NSArray arrayWithObjects:_tabPlugins, _tabSources, _tabUpdates, _tabSIMBLInfo, _tabSources, _tabAbout, _tabPreferences, nil]; NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary]; @@ -234,8 +233,7 @@ - (void)setupWindow { [[_changeLog textStorage] setAttributedString:[[NSAttributedString alloc] initWithPath:[[NSBundle mainBundle] pathForResource:@"Changelog" ofType:@"rtf"] documentAttributes:nil]]; // Select tab view - if ([[myPreferences valueForKey:@"prefStartTab"] integerValue] >= 0) - { + if ([[myPreferences valueForKey:@"prefStartTab"] integerValue] >= 0) { NSInteger tab = [[myPreferences valueForKey:@"prefStartTab"] integerValue]; [self selectView:[tabViewButtons objectAtIndex:tab]]; [_prefStartTab selectItemAtIndex:tab]; @@ -244,15 +242,11 @@ - (void)setupWindow { [_prefStartTab selectItemAtIndex:0]; } - if (![SIMBLFramework OSAX_installed]) - { - if ([SIMBLFramework SIP_enabled]) - { + if (![SIMBLFramework OSAX_installed]) { + if ([SIMBLFramework SIP_enabled]) { [_tabMain setSubviews:[NSArray arrayWithObject:_tabSIP]]; [self showSIMBLWarning]; - } - else - { + } else { [_tabMain setSubviews:[NSArray arrayWithObject:_tabSIMBL]]; dispatch_queue_t myQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(myQueue, ^{ @@ -369,8 +363,7 @@ - (void)setupPrefstab { if ([[myPreferences objectForKey:@"prefWindow"] boolValue]) [_window setFrameAutosaveName:@"MainWindow"]; - if ([[myPreferences objectForKey:@"prefTips"] boolValue]) - { + if ([[myPreferences objectForKey:@"prefTips"] boolValue]) { NSToolTipManager *test = [NSToolTipManager sharedToolTipManager]; [test setInitialToolTipDelay:0.1]; } @@ -421,7 +414,7 @@ - (void)visitSource { } - (void)visitWebsite { - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://w0lfschild.github.io/app_SIMBL.html"]]; + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://w0lfschild.github.io/app_mySIMBL.html"]]; } - (void)setupEventListener { @@ -434,8 +427,7 @@ - (void)setupEventListener { NSString* _parasiteLOC = [NSString stringWithFormat:@"%@/Parasite/Extensions", [[_LOClibrary objectAtIndex:0] path]]; NSMutableArray *paths = [NSMutableArray arrayWithObjects:_simblLOC, _simblUSR, _parasiteLOC, nil]; - for (NSString *path in paths) - { + for (NSString *path in paths) { SGDirWatchdog *watchDog = [[SGDirWatchdog alloc] initWithPath:path update:^{ [_sharedMethods readPlugins:_tblView]; @@ -449,13 +441,11 @@ - (IBAction)changeAutoUpdates:(id)sender { int selected = (int)[(NSPopUpButton*)sender indexOfSelectedItem]; if (selected == 0) [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:false] forKey:@"SUEnableAutomaticChecks"]; - if (selected == 1) - { + if (selected == 1) { [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:true] forKey:@"SUEnableAutomaticChecks"]; [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:false] forKey:@"SUAutomaticallyUpdate"]; } - if (selected == 2) - { + if (selected == 2) { [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:true] forKey:@"SUEnableAutomaticChecks"]; [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:true] forKey:@"SUAutomaticallyUpdate"]; } @@ -489,8 +479,7 @@ - (IBAction)toggleSaveWindow:(id)sender { NSButton *btn = sender; // [myPreferences setObject:[NSNumber numberWithBool:[btn state]] forKey:@"prefWindow"]; [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:[btn state]] forKey:@"prefWindow"]; - if ([btn state]) - { + if ([btn state]) { [[_window windowController] setShouldCascadeWindows:NO]; // Tell the controller to not cascade its windows. [_window setFrameAutosaveName:[_window representedFilename]]; } else { @@ -501,8 +490,7 @@ - (IBAction)toggleSaveWindow:(id)sender { - (IBAction)toggleDonateButton:(id)sender { NSButton *btn = sender; [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:[btn state]] forKey:@"prefDonate"]; - if ([btn state]) - { + if ([btn state]) { [NSAnimationContext beginGrouping]; [[NSAnimationContext currentContext] setDuration:1.0]; [[_donateButton animator] setAlphaValue:0]; @@ -533,8 +521,7 @@ - (IBAction)showPrefs:(id)sender { } - (IBAction)aboutInfo:(id)sender { - if ([sender isEqualTo:_showChanges]) - { + if ([sender isEqualTo:_showChanges]) { [_changeLog setEditable:true]; [_changeLog.textStorage setAttributedString:[[NSAttributedString alloc] initWithPath:[[NSBundle mainBundle] pathForResource:@"Changelog" ofType:@"rtf"] documentAttributes:nil]]; [_changeLog selectAll:self]; @@ -549,8 +536,7 @@ - (IBAction)aboutInfo:(id)sender { [[clipView animator] setBoundsOrigin:newOrigin]; [NSAnimationContext endGrouping]; } - if ([sender isEqualTo:_showCredits]) - { + if ([sender isEqualTo:_showCredits]) { [_changeLog setEditable:true]; [_changeLog.textStorage setAttributedString:[[NSAttributedString alloc] initWithPath:[[NSBundle mainBundle] pathForResource:@"Credits" ofType:@"rtf"] documentAttributes:nil]]; [_changeLog selectAll:self]; @@ -558,8 +544,7 @@ - (IBAction)aboutInfo:(id)sender { [_changeLog setSelectedRange:NSMakeRange(0,0)]; [_changeLog setEditable:false]; } - if ([sender isEqualTo:_showEULA]) - { + if ([sender isEqualTo:_showEULA]) { NSMutableAttributedString *mutableAttString = [[NSMutableAttributedString alloc] init]; NSAttributedString *newAttString = nil; newAttString = [[NSAttributedString alloc] initWithPath:[[NSBundle mainBundle] pathForResource:@"EULA" ofType:@"rtf"] documentAttributes:nil]; @@ -584,28 +569,61 @@ - (IBAction)toggleStartTab:(id)sender { [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInteger:[btn indexOfSelectedItem]] forKey:@"prefStartTab"]; } -- (IBAction)pushView:(id)sender { - long cur = [sourceItems indexOfObject:[_sourcesRoot.subviews objectAtIndex:0]]; - if ([_sourcesAllTable selectedRow] > -1) +- (IBAction)segmentDiscoverTogglePush:(id)sender +{ + NSArray *currView = sourceItems; + if (isdiscoverView) currView = discoverItems; + +// long cur = [currView indexOfObject:[_sourcesRoot.subviews objectAtIndex:0]]; +// [[_sourcesRoot animator] replaceSubview:[_sourcesRoot.subviews objectAtIndex:0] with:[currView objectAtIndex:0]]; +// [self.window makeFirstResponder: [currView objectAtIndex:cur + 1]]; + + NSInteger clickedSegment = [sender selectedSegment]; + if (clickedSegment == 0) { + isdiscoverView = false; + [_sourcesPush setEnabled:true]; + [_sourcesPop setEnabled:false]; + [[_sourcesRoot animator] replaceSubview:[_sourcesRoot.subviews objectAtIndex:0] with:_sourcesURLS]; + } else { + isdiscoverView = true; + [_sourcesPush setEnabled:true]; + [_sourcesPop setEnabled:false]; + [[_sourcesRoot animator] replaceSubview:[_sourcesRoot.subviews objectAtIndex:0] with:_discoverChanges]; + } +} + + +- (IBAction)segmentNavPush:(id)sender +{ + NSInteger clickedSegment = [sender selectedSegment]; + if (clickedSegment == 0) + { + [self popView:nil]; + } else { + [self pushView:nil]; + } +} + +- (IBAction)pushView:(id)sender { + NSArray *currView = sourceItems; + if (isdiscoverView) currView = discoverItems; + + long cur = [currView indexOfObject:[_sourcesRoot.subviews objectAtIndex:0]]; + if ([_sourcesAllTable selectedRow] > -1) { [_sourcesPop setEnabled:true]; - if ((cur + 1) < [sourceItems count]) - { - [[_sourcesRoot animator] replaceSubview:[_sourcesRoot.subviews objectAtIndex:0] with:[sourceItems objectAtIndex:cur + 1]]; - [self.window makeFirstResponder: [sourceItems objectAtIndex:cur + 1]]; + if ((cur + 1) < [currView count]) { + [[_sourcesRoot animator] replaceSubview:[_sourcesRoot.subviews objectAtIndex:0] with:[currView objectAtIndex:cur + 1]]; + [self.window makeFirstResponder: [currView objectAtIndex:cur + 1]]; } - if ((cur + 2) >= [sourceItems count]) - { + if ((cur + 2) >= [currView count]) { [_sourcesPush setEnabled:false]; - } - else - { + } else { [_sourcesPush setEnabled:true]; // dumpViews(_sourcesRoot, 0); - if (osx_ver > 9) - { + if (osx_ver > 9) { [[[[[[[_sourcesRoot subviews] firstObject] subviews] firstObject] subviews] firstObject] reloadData]; } else { [[[[[[[_sourcesRoot subviews] firstObject] subviews] firstObject] subviews] lastObject] reloadData]; @@ -615,7 +633,10 @@ - (IBAction)pushView:(id)sender { } - (IBAction)popView:(id)sender { - long cur = [sourceItems indexOfObject:[_sourcesRoot.subviews objectAtIndex:0]]; + NSArray *currView = sourceItems; + if (isdiscoverView) currView = discoverItems; + + long cur = [currView indexOfObject:[_sourcesRoot.subviews objectAtIndex:0]]; [_sourcesPush setEnabled:true]; if ((cur - 1) <= 0) @@ -623,11 +644,10 @@ - (IBAction)popView:(id)sender { else [_sourcesPop setEnabled:true]; - if ((cur - 1) >= 0) - { + if ((cur - 1) >= 0) { // dumpViews(_sourcesRoot, 0); - [[_sourcesRoot animator] replaceSubview:[_sourcesRoot.subviews objectAtIndex:0] with:[sourceItems objectAtIndex:cur - 1]]; - [self.window makeFirstResponder: [sourceItems objectAtIndex:cur - 1]]; + [[_sourcesRoot animator] replaceSubview:[_sourcesRoot.subviews objectAtIndex:0] with:[currView objectAtIndex:cur - 1]]; + [self.window makeFirstResponder: [currView objectAtIndex:cur - 1]]; } } @@ -653,12 +673,9 @@ - (IBAction)sourceAddorRemove:(id)sender { NSMutableArray *newArray = [NSMutableArray arrayWithArray:[myPreferences objectForKey:@"sources"]]; NSString *input = _addsourcesTextFiled.stringValue; NSArray *arr = [input componentsSeparatedByString:@"\n"]; - for (NSString* item in arr) - { - if ([item length]) - { - if ([newArray containsObject:item]) - { + for (NSString* item in arr) { + if ([item length]) { + if ([newArray containsObject:item]) { [newArray removeObject:item]; } else { [newArray addObject:item]; @@ -700,8 +717,7 @@ - (void)checkSIMBL { Boolean osaxUpdate = false; Boolean sipStatus = false; - if (![[NSFileManager defaultManager] fileExistsAtPath:@"/Library/Application Support/SIMBL/SIMBLAgent.app"]) - { + if (![[NSFileManager defaultManager] fileExistsAtPath:@"/Library/Application Support/SIMBL/SIMBLAgent.app"]) { agentUpdate = true; } else { key = [sim_m AGENT_versions]; @@ -710,14 +726,12 @@ - (void)checkSIMBL { agentUpdate = true; } - if (![[NSFileManager defaultManager] fileExistsAtPath:@"/System/Library/ScriptingAdditions/SIMBL.osax"]) - { + if (![[NSFileManager defaultManager] fileExistsAtPath:@"/System/Library/ScriptingAdditions/SIMBL.osax"]) { osaxUpdate = true; } else { key = [sim_m OSAX_versions]; result = [comparator compareVersion:[key objectForKey:@"newestVersion"] toVersion:[key objectForKey:@"localVersion"]]; - if (result == NSOrderedDescending) - { + if (result == NSOrderedDescending) { osaxUpdate = true; if ([sim_m SIP_enabled]) sipStatus = true; @@ -727,16 +741,11 @@ - (void)checkSIMBL { if (sipStatus) { [self showSIPWarning]; } if (agentUpdate || osaxUpdate) { [self showSIMBLWarning]; } - if (agentUpdate && osaxUpdate) - { + if (agentUpdate && osaxUpdate) { [[simc accept] setAction:@selector(confirmSIMBLInstall)]; - } - else if (agentUpdate) - { + } else if (agentUpdate) { [[simc accept] setAction:@selector(confirmAGENTInstall)]; - } - else - { + } else { [[simc accept] setAction:@selector(confirmOSAXInstall)]; } } @@ -819,15 +828,12 @@ - (void)getBlacklistAPPList { NSArray *blacklisted = [sharedDict objectForKey:@"SIMBLApplicationIdentifierBlacklist"]; dispatch_async(dispatch_get_main_queue(), ^(void){ - CGRect frame = _blacklistScroll.frame; frame.size.height = 0; int count = 0; - for (NSString *app in sortedKeys) - { + for (NSString *app in sortedKeys) { NSArray *myApp = [myDict valueForKey:app]; - if ([myApp count] == 3) - { + if ([myApp count] == 3) { CGRect buttonFrame = CGRectMake(10, (25 * count), 150, 22); NSButton *newButton = [[NSButton alloc] initWithFrame:buttonFrame]; [newButton setButtonType:NSSwitchButton]; @@ -851,7 +857,6 @@ - (void)getBlacklistAPPList { [_blacklistScroll.documentView setFrame:frame]; [_blacklistScroll.contentView scrollToPoint:NSMakePoint(0, ((NSView*)_blacklistScroll.documentView).frame.size.height - _blacklistScroll.contentSize.height)]; [_blacklistScroll setHasHorizontalScroller:NO]; - }); }); } @@ -895,9 +900,9 @@ - (IBAction)libValXcodeToggle:(id)sender { - (IBAction)libValSafariToggle:(id)sender { SIMBLManager *sim_m = [SIMBLManager sharedInstance]; if ([sender state] != 0) { - [sim_m remoValidation:@"com.apple.SafariTechnologyPreview"]; + [sim_m remoValidation:@"com.apple.Safari"]; } else { - [sim_m restValidation:@"com.apple.SafariTechnologyPreview"]; + [sim_m restValidation:@"com.apple.Safari"]; } } diff --git a/mySIMBL/Base.lproj/Appliaction.xib b/mySIMBL/Base.lproj/Appliaction.xib index f9caa7d..f318b0b 100755 --- a/mySIMBL/Base.lproj/Appliaction.xib +++ b/mySIMBL/Base.lproj/Appliaction.xib @@ -1,9 +1,9 @@ - + - - + + @@ -93,16 +93,8 @@ - + - @@ -138,9 +137,9 @@ - + - + @@ -150,9 +149,9 @@ - + @@ -247,7 +275,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -256,7 +284,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -265,7 +293,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -274,7 +302,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -305,17 +333,6 @@ Would you like to install SIMBL now and start using plugins? - @@ -334,7 +351,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -366,9 +383,9 @@ Would you like to install SIMBL now and start using plugins? - + @@ -385,35 +402,24 @@ Would you like to install SIMBL now and start using plugins? - - - - - - - - - + + + + + + + - + @@ -431,7 +437,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -448,7 +454,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -473,25 +479,14 @@ Would you like to install SIMBL now and start using plugins? - - + - + @@ -507,10 +502,43 @@ Would you like to install SIMBL now and start using plugins? - + + + + @@ -532,6 +560,7 @@ Would you like to install SIMBL now and start using plugins? + @@ -551,11 +580,9 @@ Would you like to install SIMBL now and start using plugins? - - - + @@ -570,11 +597,12 @@ Would you like to install SIMBL now and start using plugins? + - + @@ -794,7 +822,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -803,7 +831,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -897,7 +925,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -997,7 +1025,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -1006,7 +1034,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -1015,7 +1043,7 @@ Would you like to install SIMBL now and start using plugins? - + @@ -1060,86 +1088,77 @@ Would you like to install SIMBL now and start using plugins? - - - - - - - - - - mySIMBL has detected that your computer has System Integrity Protection enabled. - -Unfortunately this prevents mySIMBL from being able to install SIMBL and run plugins. - -If you would like to use plugins you must first disable System Integrity Protection by doing the following: - -1: Restart your computer -2: Boot to recovery partition by holding (Command [⌘] + R) -3: Open terminal from the menubar -4: Copy this command - csrutil disable; reboot -5: Press return or enter - - - - - - - - + - - - - + + + + + + + + + + - - - - @@ -1164,7 +1179,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1191,7 +1206,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1200,7 +1215,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1209,7 +1224,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1262,34 +1277,10 @@ If you would like to use plugins you must first disable System Integrity Protect - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - - - - + + + + - - - + + + - - + @@ -1431,7 +1530,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1440,7 +1539,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1449,7 +1548,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1512,7 +1611,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1521,14 +1620,6 @@ If you would like to use plugins you must first disable System Integrity Protect - - + @@ -1549,7 +1640,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1562,7 +1653,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1571,7 +1662,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1580,7 +1671,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1589,7 +1680,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1598,7 +1689,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1607,7 +1698,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1616,7 +1707,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1625,7 +1716,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1634,7 +1725,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1643,7 +1734,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1652,7 +1743,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1661,7 +1752,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1670,7 +1761,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1679,7 +1770,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1688,7 +1779,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1697,7 +1788,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1709,30 +1800,30 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1746,7 +1837,7 @@ If you would like to use plugins you must first disable System Integrity Protect - + @@ -1764,10 +1855,18 @@ If you would like to use plugins you must first disable System Integrity Protect - + + @@ -1791,62 +1890,14 @@ If you would like to use plugins you must first disable System Integrity Protect - - -YnBsaXN0MDDUAQIDBAUGPT5YJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoK4HCBMU -GR4fIyQrLjE3OlUkbnVsbNUJCgsMDQ4PEBESVk5TU2l6ZVYkY2xhc3NcTlNJbWFnZUZsYWdzVk5TUmVw -c1dOU0NvbG9ygAKADRIgwwAAgAOAC1Z7MSwgMX3SFQoWGFpOUy5vYmplY3RzoReABIAK0hUKGh2iGxyA -BYAGgAkQANIgCiEiXxAUTlNUSUZGUmVwcmVzZW50YXRpb26AB4AITxEIrE1NACoAAAAKAAAADgEAAAMA -AAABAAEAAAEBAAMAAAABAAEAAAECAAMAAAACAAgACAEDAAMAAAABAAEAAAEGAAMAAAABAAEAAAERAAQA -AAABAAAACAESAAMAAAABAAEAAAEVAAMAAAABAAIAAAEWAAMAAAABAAEAAAEXAAQAAAABAAAAAgEcAAMA -AAABAAEAAAFSAAMAAAABAAEAAAFTAAMAAAACAAEAAYdzAAcAAAf0AAAAuAAAAAAAAAf0YXBwbAIgAABt -bnRyR1JBWVhZWiAH0AACAA4ADAAAAABhY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYA -AQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVk -ZXNjAAAAwAAAAG9kc2NtAAABMAAABmZjcHJ0AAAHmAAAADh3dHB0AAAH0AAAABRrVFJDAAAH5AAAAA5k -ZXNjAAAAAAAAABVHZW5lcmljIEdyYXkgUHJvZmlsZQAAAAAAAAAAAAAAFUdlbmVyaWMgR3JheSBQcm9m -aWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAA -AAAfAAAADHNrU0sAAAAqAAABhGVuVVMAAAAoAAABrmNhRVMAAAAsAAAB1nZpVk4AAAAsAAACAnB0QlIA -AAAqAAACLnVrVUEAAAAsAAACWGZyRlUAAAAqAAAChGh1SFUAAAAuAAACrnpoVFcAAAAQAAAC3G5iTk8A -AAAsAAAC7GtvS1IAAAAYAAADGGNzQ1oAAAAkAAADMGhlSUwAAAAgAAADVHJvUk8AAAAkAAADdGRlREUA -AAA6AAADmGl0SVQAAAAuAAAD0nN2U0UAAAAuAAAEAHpoQ04AAAAQAAAELmphSlAAAAAWAAAEPmVsR1IA -AAAkAAAEVHB0UE8AAAA4AAAEeG5sTkwAAAAqAAAEsGVzRVMAAAAoAAAE2nRoVEgAAAAkAAAFAnRyVFIA -AAAiAAAFJmZpRkkAAAAsAAAFSGhySFIAAAA6AAAFdHBsUEwAAAA2AAAFrnJ1UlUAAAAmAAAF5GFyRUcA -AAAoAAAGCmRhREsAAAA0AAAGMgBWAWEAZQBvAGIAZQBjAG4A/QAgAHMAaQB2AP0AIABwAHIAbwBmAGkA -bABHAGUAbgBlAHIAaQBjACAARwByAGEAeQAgAFAAcgBvAGYAaQBsAGUAUABlAHIAZgBpAGwAIABkAGUA -IABnAHIAaQBzACAAZwBlAG4A6AByAGkAYwBDHqUAdQAgAGgA7ABuAGgAIABNAOAAdQAgAHgA4QBtACAA -QwBoAHUAbgBnAFAAZQByAGYAaQBsACAAQwBpAG4AegBhACAARwBlAG4A6QByAGkAYwBvBBcEMAQzBDAE -OwRMBD0EOAQ5ACAEPwRABD4ERAQwBDkEOwAgAEcAcgBhAHkAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIA -aQBxAHUAZQAgAGcAcgBpAHMAwQBsAHQAYQBsAOEAbgBvAHMAIABzAHoA/AByAGsAZQAgAHAAcgBvAGYA -aQBskBp1KHBwlo6Ccl9pY8+P8ABHAGUAbgBlAHIAaQBzAGsAIABnAHIA5QB0AG8AbgBlAHAAcgBvAGYA -aQBsx3y8GAAgAEcAcgBhAHkAINUEuFzTDMd8AE8AYgBlAGMAbgD9ACABYQBlAGQA/QAgAHAAcgBvAGYA -aQBsBeQF6AXVBeQF2QXcACAARwByAGEAeQAgBdsF3AXcBdkAUAByAG8AZgBpAGwAIABnAHIAaQAgAGcA -ZQBuAGUAcgBpAGMAQQBsAGwAZwBlAG0AZQBpAG4AZQBzACAARwByAGEAdQBzAHQAdQBmAGUAbgAtAFAA -cgBvAGYAaQBsAFAAcgBvAGYAaQBsAG8AIABnAHIAaQBnAGkAbwAgAGcAZQBuAGUAcgBpAGMAbwBHAGUA -bgBlAHIAaQBzAGsAIABnAHIA5QBzAGsAYQBsAGUAcAByAG8AZgBpAGxmbpAacHBepmPPj/Blh072TgCC -LDCwMOwwpDDXMO0w1TChMKQw6wOTA7UDvQO5A7oDzAAgA8ADwQO/A8YDrwO7ACADswO6A8EDuQBQAGUA -cgBmAGkAbAAgAGcAZQBuAOkAcgBpAGMAbwAgAGQAZQAgAGMAaQBuAHoAZQBuAHQAbwBzAEEAbABnAGUA -bQBlAGUAbgAgAGcAcgBpAGoAcwBwAHIAbwBmAGkAZQBsAFAAZQByAGYAaQBsACAAZwByAGkAcwAgAGcA -ZQBuAOkAcgBpAGMAbw5CDhsOIw5EDh8OJQ5MDioONQ5ADhcOMg4XDjEOSA4nDkQOGwBHAGUAbgBlAGwA -IABHAHIAaQAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAGgAYQByAG0AYQBhAHAAcgBvAGYA -aQBpAGwAaQBHAGUAbgBlAHIAaQENAGsAaQAgAHAAcgBvAGYAaQBsACAAcwBpAHYAaQBoACAAdABvAG4A -bwB2AGEAVQBuAGkAdwBlAHIAcwBhAGwAbgB5ACAAcAByAG8AZgBpAGwAIABzAHoAYQByAG8BWwBjAGkE -HgQxBEkEOAQ5ACAEQQQ1BEAESwQ5ACAEPwRABD4ERAQ4BDsETAZFBkQGQQAgBioGOQYxBkoGQQAgAEcA -cgBhAHkAIAYnBkQGOQYnBkUARwBlAG4AZQByAGUAbAAgAGcAcgDlAHQAbwBuAGUAYgBlAHMAawByAGkA -dgBlAGwAcwBlAAB0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVz -ZXJ2ZWQuAFhZWiAAAAAAAADzUQABAAAAARbMY3VydgAAAAAAAAABAc0AANIlJicoWiRjbGFzc25hbWVY -JGNsYXNzZXNfEBBOU0JpdG1hcEltYWdlUmVwoycpKlpOU0ltYWdlUmVwWE5TT2JqZWN00iUmLC1XTlNB -cnJheaIsKtIlJi8wXk5TTXV0YWJsZUFycmF5oy8sKtMyMwo0NTZXTlNXaGl0ZVxOU0NvbG9yU3BhY2VE -MCAwABADgAzSJSY4OVdOU0NvbG9yojgq0iUmOzxXTlNJbWFnZaI7Kl8QD05TS2V5ZWRBcmNoaXZlctE/ -QFRyb290gAEACAARABoAIwAtADIANwBGAEwAVwBeAGUAcgB5AIEAgwCFAIoAjACOAJUAmgClAKcAqQCr -ALAAswC1ALcAuQC7AMAA1wDZANsJiwmQCZsJpAm3CbsJxgnPCdQJ3AnfCeQJ8wn3Cf4KBgoTChgKGgoc -CiEKKQosCjEKOQo8Ck4KUQpWAAAAAAAAAgEAAAAAAAAAQQAAAAAAAAAAAAAAAAAAClg - - + + + diff --git a/mySIMBL/Changelog.rtf b/mySIMBL/Changelog.rtf index 4c77460..be379fc 100755 --- a/mySIMBL/Changelog.rtf +++ b/mySIMBL/Changelog.rtf @@ -1,48 +1,57 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf820 +{\rtf1\ansi\ansicpg1252\cocoartf1537\cocoasubrtf220 {\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;\f1\fnil\fcharset0 LucidaGrande;\f2\fnil\fcharset0 Menlo-Regular; \f3\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red196\green26\blue22;} {\*\expandedcolortbl;;\csgenericrgb\c76863\c10196\c8627;} {\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1} -{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2} +{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid102\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid2} {\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3} {\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid4} {\list\listtemplateid5\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid5} -{\list\listtemplateid6\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid502\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid6} +{\list\listtemplateid6\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid6} {\list\listtemplateid7\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid602\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid7} -{\list\listtemplateid8\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid8} +{\list\listtemplateid8\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid702\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid8} {\list\listtemplateid9\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid9} -{\list\listtemplateid10\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid902\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid10} -{\list\listtemplateid11\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid11} +{\list\listtemplateid10\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid10} +{\list\listtemplateid11\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1002\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid11} {\list\listtemplateid12\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid12} {\list\listtemplateid13\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid13} {\list\listtemplateid14\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid14} {\list\listtemplateid15\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid15} -{\list\listtemplateid16\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1502\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1503\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1504\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1505\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li3600\lin3600 }{\listname ;}\listid16} -{\list\listtemplateid17\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid17} +{\list\listtemplateid16\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid16} +{\list\listtemplateid17\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1602\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1603\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1604\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid1605\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li3600\lin3600 }{\listname ;}\listid17} {\list\listtemplateid18\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid18} {\list\listtemplateid19\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid19} {\list\listtemplateid20\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid20} {\list\listtemplateid21\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid21} -{\list\listtemplateid22\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2102\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid22} -{\list\listtemplateid23\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{square\}}{\leveltext\leveltemplateid2201\'01\uc0\u9642 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2202\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid23} -{\list\listtemplateid24\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2302\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid24} -{\list\listtemplateid25\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2402\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid25}} -{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid15\listoverridecount0\ls15}{\listoverride\listid16\listoverridecount0\ls16}{\listoverride\listid17\listoverridecount0\ls17}{\listoverride\listid18\listoverridecount0\ls18}{\listoverride\listid19\listoverridecount0\ls19}{\listoverride\listid20\listoverridecount0\ls20}{\listoverride\listid21\listoverridecount0\ls21}{\listoverride\listid22\listoverridecount0\ls22}{\listoverride\listid23\listoverridecount0\ls23}{\listoverride\listid24\listoverridecount0\ls24}{\listoverride\listid25\listoverridecount0\ls25}} +{\list\listtemplateid22\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid22} +{\list\listtemplateid23\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2202\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid23} +{\list\listtemplateid24\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{square\}}{\leveltext\leveltemplateid2301\'01\uc0\u9642 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2302\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid24} +{\list\listtemplateid25\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2402\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid25} +{\list\listtemplateid26\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2502\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid26}} +{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid15\listoverridecount0\ls15}{\listoverride\listid16\listoverridecount0\ls16}{\listoverride\listid17\listoverridecount0\ls17}{\listoverride\listid18\listoverridecount0\ls18}{\listoverride\listid19\listoverridecount0\ls19}{\listoverride\listid20\listoverridecount0\ls20}{\listoverride\listid21\listoverridecount0\ls21}{\listoverride\listid22\listoverridecount0\ls22}{\listoverride\listid23\listoverridecount0\ls23}{\listoverride\listid24\listoverridecount0\ls24}{\listoverride\listid25\listoverridecount0\ls25}{\listoverride\listid26\listoverridecount0\ls26}} \margl1440\margr1440\vieww15040\viewh13640\viewkind0 \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \f0\fs22 \cf0 0.5.4\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls1\ilvl0\cf0 {\listtext \'95 }Beta / Test updates options\ +\ls1\ilvl0\cf0 {\listtext \'95 }Added mySIMBL to default SIMBL Blacklist (for safety)\ +\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 +\ls2\ilvl0\cf0 {\listtext \'95 }Fixes more issues with Xcode and Safari toggles\ +{\listtext \'95 }Code clean\ +{\listtext \'95 }UI Adjustments\ {\listtext \'95 }Bug fixes\ +\pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 +\ls2\ilvl1\cf0 {\listtext +\f1 \uc0\u8259 +\f0 }Fix some update crashes\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ 0.5.3\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls2\ilvl0\cf0 {\listtext \'95 }Fixed issues with Xcode and Safari Tech Preview toggles\ +\ls3\ilvl0\cf0 {\listtext \'95 }Fixed issues with Xcode and Safari Tech Preview toggles\ {\listtext \'95 }UI Adjustments\ {\listtext \'95 }Bug fixes\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 @@ -51,7 +60,7 @@ \pard\tx560\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls3\ilvl0\cf0 {\listtext \'95 }Improved inject into all applications method\ +\ls4\ilvl0\cf0 {\listtext \'95 }Improved inject into all applications method\ {\listtext \'95 }Improved locating of applications for SIMBL Blacklist\ {\listtext \'95 }Improved launch time\ {\listtext \'95 }Fix SIMBLAgent update/install failing when SIP is enabled\ @@ -60,7 +69,7 @@ {\listtext \'95 }New toggles allowing injection into Xcode and Safari Tech Preview\ {\listtext \'95 }New button to uninstall SIMBL\ \pard\tx220\tx720\tx1120\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls3\ilvl0\cf0 {\listtext \'95 }DevMate integration\ +\ls4\ilvl0\cf0 {\listtext \'95 }DevMate integration\ {\listtext \'95 }Bug fixes \ \pard\tx560\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ @@ -68,7 +77,7 @@ \cf0 0.4.3\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls4\ilvl0\cf0 {\listtext \'95 }Fixes 10.9 not setting up window\ +\ls5\ilvl0\cf0 {\listtext \'95 }Fixes 10.9 not setting up window\ {\listtext \'95 }Fixes SIMBLAgent not automatically loading plugins\ \pard\tx560\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ @@ -76,16 +85,16 @@ \cf0 0.4.2\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls5\ilvl0\cf0 {\listtext \'95 }Fixes mySIMBLAgent crash\ +\ls6\ilvl0\cf0 {\listtext \'95 }Fixes mySIMBLAgent crash\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ 0.4.1\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 \cf0 \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls6\ilvl0\cf0 {\listtext \'95 }New Updates tab\ +\ls7\ilvl0\cf0 {\listtext \'95 }New Updates tab\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls6\ilvl1\cf0 {\listtext +\ls7\ilvl1\cf0 {\listtext \f1 \uc0\u8259 \f0 }Update all plugins\ {\listtext @@ -95,9 +104,9 @@ \f1 \uc0\u8259 \f0 }New repo packages.plist format\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls7\ilvl0\cf0 {\listtext \'95 }New SIMBL tab\ +\ls8\ilvl0\cf0 {\listtext \'95 }New SIMBL tab\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls7\ilvl1\cf0 {\listtext +\ls8\ilvl1\cf0 {\listtext \f1 \uc0\u8259 \f0 }Show SIMBL status\ {\listtext @@ -116,20 +125,20 @@ \f1 \uc0\u8259 \f0 }Load into all applications has moved here\ \pard\tx220\tx720\tx1120\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls7\ilvl0\cf0 {\listtext \'95 }Sources tab\ +\ls8\ilvl0\cf0 {\listtext \'95 }Sources tab\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls7\ilvl1\cf0 {\listtext +\ls8\ilvl1\cf0 {\listtext \f1 \uc0\u8259 \f0 }Show checkmark for downloaded plugins (enabled and disabled)\ {\listtext \f1 \uc0\u8259 \f0 }Improved bundle page information\ \pard\tx220\tx720\tx1120\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls7\ilvl0\cf0 {\listtext \'95 }Sparkle 1.15.1\ +\ls8\ilvl0\cf0 {\listtext \'95 }Sparkle 1.15.1\ {\listtext \'95 }PFMoveApplication updated\ {\listtext \'95 }UI Changes\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls8\ilvl0\cf0 {\listtext \'95 }Improve system app injection time\ +\ls9\ilvl0\cf0 {\listtext \'95 }Improve system app injection time\ {\listtext \'95 }Improve injection method\ {\listtext \'95 }Improve login item method\ {\listtext \'95 }Fix bundle info not updating if a new version was installed\ @@ -142,7 +151,7 @@ 0.3.1\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls9\ilvl0\cf0 {\listtext \'95 }Fix SIMBLAgent crashing on 10.11 and below\ +\ls10\ilvl0\cf0 {\listtext \'95 }Fix SIMBLAgent crashing on 10.11 and below\ {\listtext \'95 }Fix sources view navigation not working properly on 10.9\ {\listtext \'95 }Fix missing sdef file in osax\ {\listtext \'95 }Bug fixes\ @@ -152,10 +161,10 @@ \pard\tx560\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls10\ilvl0\cf0 {\listtext \'95 }macOS 10.12 support\ +\ls11\ilvl0\cf0 {\listtext \'95 }macOS 10.12 support\ {\listtext \'95 }SIMBL Agent updated\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls10\ilvl1\cf0 {\listtext +\ls11\ilvl1\cf0 {\listtext \f1 \uc0\u8259 \f0 }SIMBL Agent moved to /Library/Application Support/SIMBL\ {\listtext @@ -165,10 +174,10 @@ \f1 \uc0\u8259 \f0 }Injects into apps that loaded before itself\ \pard\tx220\tx720\tx1120\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls10\ilvl0\cf0 {\listtext \'95 }Warning dialog for SIMBL updates\ +\ls11\ilvl0\cf0 {\listtext \'95 }Warning dialog for SIMBL updates\ {\listtext \'95 }Warning dialog for System Integrity Protection\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls11\ilvl0\cf0 {\listtext \'95 }SIMBL updates handled by main app instead of helper\ +\ls12\ilvl0\cf0 {\listtext \'95 }SIMBL updates handled by main app instead of helper\ {\listtext \'95 }UI Changes\ {\listtext \'95 }Removed WAYAppStoreWindow\ {\listtext \'95 }Fixed not being able to toggle plugin if folder didn't exist\ @@ -181,7 +190,7 @@ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 \cf0 \'95 New Icon\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls12\ilvl0\cf0 {\listtext \'95 }Much faster directory updates\ +\ls13\ilvl0\cf0 {\listtext \'95 }Much faster directory updates\ {\listtext \'95 }Scan for Parasite bundles\ {\listtext \'95 }Better version checking bundle updates\ {\listtext \'95 }Altered tabs\ @@ -191,10 +200,10 @@ \cf0 \ 0.2.5\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls13\ilvl0\cf0 {\listtext \'95 }\ +\ls14\ilvl0\cf0 {\listtext \'95 }\ {\listtext \'95 }New Icon\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls14\ilvl0\cf0 {\listtext \'95 }Better repo refreshing\ +\ls15\ilvl0\cf0 {\listtext \'95 }Better repo refreshing\ {\listtext \'95 }UI Adjustments\ {\listtext \'95 }Updated PFMoveApplication\ {\listtext \'95 }Updated INAppStoreWindow\ @@ -205,7 +214,7 @@ \pard\tx560\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls15\ilvl0\cf0 {\listtext \'95 }Add / Remove sources\ +\ls16\ilvl0\cf0 {\listtext \'95 }Add / Remove sources\ {\listtext \'95 }Better plugin pages\ {\listtext \'95 }Repo sorted by package name\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 @@ -213,9 +222,9 @@ 0.2.0\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls16\ilvl0\cf0 {\listtext \'95 }Sources view implemented \ +\ls17\ilvl0\cf0 {\listtext \'95 }Sources view implemented \ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls16\ilvl1\cf0 {\listtext +\ls17\ilvl1\cf0 {\listtext \f1 \uc0\u8259 \f0 }One repo included\ {\listtext @@ -225,28 +234,28 @@ \f1 \uc0\u8259 \f0 }Structure\ \pard\tx1660\tx2160\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li2160\fi-2160\pardirnatural\partightenfactor0 -\ls16\ilvl2\cf0 {\listtext +\ls17\ilvl2\cf0 {\listtext \f1 \uc0\u8259 \f0 }Source View (Root)\ \pard\tx2380\tx2880\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li2880\fi-2880\pardirnatural\partightenfactor0 -\ls16\ilvl3\cf0 {\listtext +\ls17\ilvl3\cf0 {\listtext \f1 \uc0\u8259 \f0 }Source Bundles\ \pard\tx3100\tx3600\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li3600\fi-3600\pardirnatural\partightenfactor0 -\ls16\ilvl4\cf0 {\listtext +\ls17\ilvl4\cf0 {\listtext \f1 \uc0\u8259 \f0 }Bundle Page\ \pard\tx560\tx1120\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls17\ilvl0\cf0 {\listtext \'95 }UI adjustments\ +\ls18\ilvl0\cf0 {\listtext \'95 }UI adjustments\ {\listtext \'95 }Code refactoring\ {\listtext \'95 }Startup tab preference\ {\listtext \'95 }Bundles use icon of first application in SIMBLTargetApplications \f2 \cf2 \CocoaLigature0 \f0 \cf0 if no icon provided \f2 \cf2 \ -\ls17\ilvl0 +\ls18\ilvl0 \f0 \cf0 \CocoaLigature1 {\listtext \'95 }View source button in about page\ {\listtext \'95 }Cells selectable in tables\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 @@ -254,13 +263,13 @@ 0.1.6\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls18\ilvl0\cf0 {\listtext \'95 }UI adjustments\ +\ls19\ilvl0\cf0 {\listtext \'95 }UI adjustments\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \cf0 \ 0.1.5\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls19\ilvl0\cf0 {\listtext \'95 }UI adjustments\ +\ls20\ilvl0\cf0 {\listtext \'95 }UI adjustments\ {\listtext \'95 }Changed fonts\ {\listtext \'95 }Almost all preferences working\ {\listtext \'95 }Updated about page\ @@ -269,7 +278,7 @@ 0.1.4\ \ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls20\ilvl0\cf0 {\listtext \'95 }UI adjustments\ +\ls21\ilvl0\cf0 {\listtext \'95 }UI adjustments\ {\listtext \'95 }Inject into apps button\ {\listtext \'95 }Preferences mostly complete\ {\listtext \'95 }Delete bundle requires two clicks\ @@ -288,33 +297,33 @@ \cf0 \ \'95 Helper agent\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls21\ilvl0\cf0 {\listtext \'95 }System Integrity Protection warning\ +\ls22\ilvl0\cf0 {\listtext \'95 }System Integrity Protection warning\ {\listtext \'95 }Inject into specified system apps\ {\listtext \'95 }Offers to move self to /Applications\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 \cf0 \'95 Show bundle in Finder (Magnifying Glass)\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls22\ilvl0\cf0 {\listtext \'95 }Bundles will display custom icon if located in /Contents/icon.icns\ +\ls23\ilvl0\cf0 {\listtext \'95 }Bundles will display custom icon if located in /Contents/icon.icns\ {\listtext \'95 }Easy bundle installation\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls22\ilvl1\cf0 {\listtext +\ls23\ilvl1\cf0 {\listtext \f1 \uc0\u8259 \f0 }Drag and drop install bundles in /Library/Application Support/SIMBL/Plugins\ {\listtext \f1 \uc0\u8259 \f0 }Open bundles with app to install in /Library/Application Support/SIMBL/Plugins\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls23\ilvl0\cf0 {\listtext +\ls24\ilvl0\cf0 {\listtext \f1 \uc0\u9642 \f0 }Show bundle developer page (Globe Icon)\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls23\ilvl1\cf0 {\listtext +\ls24\ilvl1\cf0 {\listtext \f3 \uc0\u8259 \f0 }plist value is string 'DevURL'\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls24\ilvl0\cf0 {\listtext \'95 }Toggle bundles between (Colored Circle Icon)\ +\ls25\ilvl0\cf0 {\listtext \'95 }Toggle bundles between (Colored Circle Icon)\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls24\ilvl1\cf0 {\listtext +\ls25\ilvl1\cf0 {\listtext \f3 \uc0\u8259 \f0 }/Library/Application Support/SIMBL/Plugins\ {\listtext @@ -324,13 +333,13 @@ \f3 \uc0\u8259 \f0 }~/Library/Application Support/SIMBL/Plugins (User only)\ \pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\pardirnatural\partightenfactor0 -\ls25\ilvl0\cf0 {\listtext \'95 }Watch for changes to\ +\ls26\ilvl0\cf0 {\listtext \'95 }Watch for changes to\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls25\ilvl1\cf0 {\listtext +\ls26\ilvl1\cf0 {\listtext \f1 \uc0\u8259 \f0 }/Library/Application Support/SIMBL/Plugins\ \pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\pardirnatural\partightenfactor0 -\ls25\ilvl1 +\ls26\ilvl1 \f3 \cf0 {\listtext \uc0\u8259 \f0 } \f3 /Library/Application Support/SIMBL/Plugins (Disabled)\ diff --git a/mySIMBL/EULA.rtf b/mySIMBL/EULA.rtf index a97b592..54d7901 100755 --- a/mySIMBL/EULA.rtf +++ b/mySIMBL/EULA.rtf @@ -1,17 +1,18 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 +{\rtf1\ansi\ansicpg1252\cocoartf1537\cocoasubrtf220 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \margl1440\margr1440\vieww9000\viewh8400\viewkind0 -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 -\f0\b\fs24 \cf0 The MIT License (MIT) -\b0 \ +\f0\fs24 \cf0 Copyright (c) 2015 - 2017 Wolfgang Baird\uc0\u8232 \ +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\ \ -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:\ +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\ \ -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\ \ -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 NON-INFRINGEMENT. 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.\ +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\ \ +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\ } \ No newline at end of file diff --git a/mySIMBL/Info.plist b/mySIMBL/Info.plist index 8188727..7d20d01 100755 --- a/mySIMBL/Info.plist +++ b/mySIMBL/Info.plist @@ -32,11 +32,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.5.3 + 0.6.1 CFBundleSignature ???? CFBundleVersion - 29 + 42 LSApplicationCategoryType public.app-category.developer-tools LSMinimumSystemVersion diff --git a/mySIMBL/bundlePage.m b/mySIMBL/bundlePage.m index 5a34cb6..8d2bd99 100755 --- a/mySIMBL/bundlePage.m +++ b/mySIMBL/bundlePage.m @@ -51,13 +51,15 @@ @implementation bundlePage NSDictionary* item; } --(NSFont*)calcFontSizeToFitRect:(NSRect)r :(NSString*)string :(NSString*)currentFontName { +-(NSFont*)calcFontSizeToFitRect:(NSRect)r :(NSString*)string :(NSString*)currentFontName +{ float targetWidth = r.size.width - 1; float targetHeight = r.size.height - 1; // the strategy is to start with a small font size and go larger until I'm larger than one of the target sizes int i; - for (i=8; i<36; i++) { + for (i=8; i<36; i++) + { NSDictionary* attrs = [[NSDictionary alloc] initWithObjectsAndKeys:[NSFont fontWithName:currentFontName size:i], NSFontAttributeName, nil]; NSSize strSize = [string sizeWithAttributes:attrs]; if (strSize.width > targetWidth || strSize.height > targetHeight) break; @@ -178,9 +180,12 @@ -(void)viewWillDraw [self.bundleInstall setTarget:self]; [self.bundleDelete setTarget:self]; [self.bundleDelete setAction:@selector(pluginDelete)]; + if ([installedPlugins objectForKey:[item objectForKey:@"package"]]) { // Pack already exists + [self.bundleDelete setEnabled:true]; + NSDictionary* dic = [[installedPlugins objectForKey:[item objectForKey:@"package"]] objectForKey:@"bundleInfo"]; NSString* cur = [dic objectForKey:@"CFBundleShortVersionString"]; if ([cur isEqualToString:@""]) @@ -190,9 +195,9 @@ -(void)viewWillDraw NSInteger result = [comparator compareVersion:cur toVersion:new]; if (result == NSOrderedSame) { //versionA == versionB - [self.bundleInstall setEnabled:false]; - self.bundleInstall.title = @"View"; -// [self.bundleInstall setAction:@selector(pluginUpdate)]; + [self.bundleInstall setEnabled:true]; + self.bundleInstall.title = @"Open"; + [self.bundleInstall setAction:@selector(pluginFinder)]; } else if (result == NSOrderedAscending) { //versionA < versionB [self.bundleInstall setEnabled:true]; @@ -202,6 +207,7 @@ -(void)viewWillDraw //versionA > versionB [self.bundleInstall setEnabled:false]; self.bundleInstall.title = @"Downgrade"; + [self.bundleInstall setAction:@selector(pluginUpdate)]; } } else { // Package not installed @@ -270,8 +276,9 @@ - (void)pluginInstall NSTask *task = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/unzip" arguments:@[@"-o", temp, @"-d", libPathENB]]; [task waitUntilExit]; [self.bundleDelete setEnabled:true]; - [self.bundleInstall setEnabled:false]; - self.bundleInstall.title = @"View"; + [self.bundleInstall setEnabled:true]; + self.bundleInstall.title = @"Open"; + [self.bundleInstall setAction:@selector(pluginFinder)]; shareClass* t = [[shareClass alloc] init]; [t readPlugins:nil]; } @@ -288,12 +295,36 @@ - (void)pluginUpdate NSTask *task = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/unzip" arguments:@[@"-o", temp, @"-d", libPathENB]]; [task waitUntilExit]; [self.bundleDelete setEnabled:true]; - [self.bundleInstall setEnabled:false]; - self.bundleInstall.title = @"View"; + [self.bundleInstall setEnabled:true]; + self.bundleInstall.title = @"Open"; + [self.bundleInstall setAction:@selector(pluginFinder)]; shareClass* t = [[shareClass alloc] init]; [t readPlugins:nil]; } +- (void)pluginFinder +{ + int pos = 0; + bool found = false; + for (NSDictionary* dict in pluginsArray) + { + if ([[dict objectForKey:@"bundleId"] isEqualToString:[item objectForKey:@"package"]]) + { + found = true; + break; + } + pos += 1; + } + + if (found) + { + NSDictionary* obj = [pluginsArray objectAtIndex:pos]; + NSString* path = [obj objectForKey:@"path"]; + NSURL* url = [NSURL fileURLWithPath:path]; + [[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:[NSArray arrayWithObject:url]]; + } +} + - (void)pluginDelete { int pos = 0; diff --git a/mySIMBL/discoverTable.m b/mySIMBL/discoverTable.m new file mode 100644 index 0000000..0bd497d --- /dev/null +++ b/mySIMBL/discoverTable.m @@ -0,0 +1,12 @@ +// +// discoverTable.m +// mySIMBL +// +// Created by Wolfgang Baird on 6/18/17. +// Copyright © 2017 Wolfgang Baird. All rights reserved. +// + +@import AppKit; +#import "shareClass.h" + + diff --git a/mySIMBL/repopluginTable.m b/mySIMBL/repopluginTable.m index 708805c..267e46d 100755 --- a/mySIMBL/repopluginTable.m +++ b/mySIMBL/repopluginTable.m @@ -70,7 +70,14 @@ - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn repopluginTableCell *result = (repopluginTableCell*)[tableView makeViewWithIdentifier:@"psView" owner:self]; NSDictionary* item = [[NSMutableDictionary alloc] initWithDictionary:[allPlugins objectAtIndex:row]]; result.bundleName.stringValue = [item objectForKey:@"name"]; - result.bundleDescription.stringValue = [item objectForKey:@"description"]; + NSString *shortDescription = @""; + if ([item objectForKey:@"descriptionShort"] != nil) { + if (![[item objectForKey:@"descriptionShort"] isEqualToString:@""]) + shortDescription = [item objectForKey:@"descriptionShort"]; + } + if ([shortDescription isEqualToString:@""]) + shortDescription = [item objectForKey:@"description"]; + result.bundleDescription.stringValue = shortDescription; NSString *bInfo = [NSString stringWithFormat:@"%@ - %@", [item objectForKey:@"version"], [item objectForKey:@"package"]]; result.bundleInfo.stringValue = bInfo; result.bundleDescription.toolTip = [item objectForKey:@"description"]; diff --git a/mySIMBL/shareClass.m b/mySIMBL/shareClass.m index fb8452b..4db3d88 100755 --- a/mySIMBL/shareClass.m +++ b/mySIMBL/shareClass.m @@ -19,11 +19,13 @@ @implementation shareClass -- (void)installBundles:(NSArray*)pathArray { +- (void)installBundles:(NSArray*)pathArray +{ // NSLog(@"%@", pathArray); NSArray* libDomain = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSLocalDomainMask]; NSString* libSupport = [[libDomain objectAtIndex:0] path]; - for (NSString* path in pathArray) { + for (NSString* path in pathArray) + { if ([[path pathExtension] isEqualToString:@"bundle"]) { NSArray* pathComp=[path pathComponents]; @@ -35,14 +37,16 @@ - (void)installBundles:(NSArray*)pathArray { } } -- (void)replaceFile:(NSString*)start :(NSString*)end { +- (void)replaceFile:(NSString*)start :(NSString*)end +{ NSError* error; if (![[NSFileManager defaultManager] fileExistsAtPath:[end stringByDeletingLastPathComponent]]) { [[NSFileManager defaultManager] createDirectoryAtPath:[end stringByDeletingLastPathComponent] withIntermediateDirectories:true attributes:nil error:&error]; } - if ([[NSFileManager defaultManager] fileExistsAtPath:end]) { + if ([[NSFileManager defaultManager] fileExistsAtPath:end]) + { // NSLog(@"File Exists"); [[NSFileManager defaultManager] replaceItemAtURL:[NSURL fileURLWithPath:end] withItemAtURL:[NSURL fileURLWithPath:start] backupItemName:nil options:NSFileManagerItemReplacementUsingNewMetadataOnly resultingItemURL:nil error:&error]; } else { @@ -52,13 +56,15 @@ - (void)replaceFile:(NSString*)start :(NSString*)end { // NSLog(@"%@", error); } -- (void)readFolder:(NSString *)str :(NSMutableDictionary *)dict { - +- (void)readFolder:(NSString *)str :(NSMutableDictionary *)dict +{ NSArray *appFolderContents = [[NSArray alloc] init]; appFolderContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:str error:nil]; - for (NSString* fileName in appFolderContents) { - if ([fileName hasSuffix:@".bundle"]) { + for (NSString* fileName in appFolderContents) + { + if ([fileName hasSuffix:@".bundle"]) + { NSString* path=[str stringByAppendingPathComponent:fileName]; NSString* name=[fileName stringByDeletingPathExtension]; @@ -70,20 +76,22 @@ - (void)readFolder:(NSString *)str :(NSMutableDictionary *)dict { NSDictionary *info = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; NSString* bundleIdentifier=[bundle bundleIdentifier]; - if(![bundleIdentifier length])bundleIdentifier=@"(null)"; + if (![bundleIdentifier length]) bundleIdentifier=@"(null)"; NSString* bundleVersion=[info objectForKey:@"CFBundleShortVersionString"]; - if(![bundleVersion length])bundleVersion=[info objectForKey:@"CFBundleVersion"]; + if (![bundleVersion length]) bundleVersion=[info objectForKey:@"CFBundleVersion"]; NSString* description=bundleIdentifier; - if([bundleVersion length]){ + if ([bundleVersion length]) + { description=[NSString stringWithFormat:@"%@ - %@", bundleVersion, description]; } NSArray *components = [path pathComponents]; NSString* location= [components objectAtIndex:1]; NSString* endcomp= [components objectAtIndex:[components count] - 2]; - if([location length]){ + if ([location length]) + { if ([endcomp rangeOfString:@"Disabled"].length) description=[NSString stringWithFormat:@"%@ - %@ (Disabled)", description, location]; else @@ -105,7 +113,8 @@ - (void)readFolder:(NSString *)str :(NSMutableDictionary *)dict { } } -- (void)readPlugins:(NSTableView *)pluginTable { +- (void)readPlugins:(NSTableView *)pluginTable +{ pluginsArray = [[NSMutableArray alloc] init]; confirmDelete = [[NSMutableArray alloc] init]; NSMutableDictionary *myDict = [[NSMutableDictionary alloc] init]; @@ -148,7 +157,8 @@ - (void)readPlugins:(NSTableView *)pluginTable { [pluginTable reloadData]; } -- (void)pluginInstall:(NSDictionary*)item :(NSString*)repo { +- (void)pluginInstall:(NSDictionary*)item :(NSString*)repo +{ NSURL *installURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", repo, [item objectForKey:@"filename"]]]; NSData *myData = [NSData dataWithContentsOfURL:installURL]; NSString *temp = [NSString stringWithFormat:@"/tmp/%@_%@", [item objectForKey:@"package"], [item objectForKey:@"version"]]; @@ -162,7 +172,8 @@ - (void)pluginInstall:(NSDictionary*)item :(NSString*)repo { [t readPlugins:nil]; } -- (void)pluginUpdate:(NSDictionary*)item :(NSString*)repo { +- (void)pluginUpdate:(NSDictionary*)item :(NSString*)repo +{ NSURL *installURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", repo, [item objectForKey:@"filename"]]]; NSData *myData = [NSData dataWithContentsOfURL:installURL]; NSString *temp = [NSString stringWithFormat:@"/tmp/%@_%@", [item objectForKey:@"package"], [item objectForKey:@"version"]]; @@ -176,7 +187,8 @@ - (void)pluginUpdate:(NSDictionary*)item :(NSString*)repo { [t readPlugins:nil]; } -- (void)pluginDelete:(NSDictionary*)item { +- (void)pluginDelete:(NSDictionary*)item +{ int pos = 0; bool found = false; for (NSDictionary* dict in pluginsArray) @@ -199,7 +211,8 @@ - (void)pluginDelete:(NSDictionary*)item { } } -- (NSImage*)getbundleIcon:(NSDictionary*)plist { +- (NSImage*)getbundleIcon:(NSDictionary*)plist +{ NSImage* result = nil; NSArray* targets = [[NSArray alloc] init]; if ([plist objectForKey:@"targets"]) @@ -232,7 +245,8 @@ - (NSImage*)getbundleIcon:(NSDictionary*)plist { return result; } -- (void)checkforPluginUpdates :(NSTableView*)table { +- (void)checkforPluginUpdates :(NSTableView*)table +{ [self readPlugins:nil]; NSDictionary *plugins = [[NSDictionary alloc] initWithDictionary:[installedPluginDICT copy]]; @@ -254,7 +268,8 @@ - (void)checkforPluginUpdates :(NSTableView*)table { } } - for (NSString* key in plugins) { + for (NSString* key in plugins) + { id value = [plugins objectForKey:key]; id bundleID = [value objectForKey:@"bundleId"]; id localVersion = [value objectForKey:@"version"]; diff --git a/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.pbxproj b/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.pbxproj index 6eeb56a..9db390b 100644 --- a/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.pbxproj +++ b/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.pbxproj @@ -7,18 +7,12 @@ objects = { /* Begin PBXBuildFile section */ - FB27D5871E8DB57000DC8037 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB27D5861E8DB57000DC8037 /* AppKit.framework */; }; - FB27D5891E8DB57000DC8037 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB27D5881E8DB57000DC8037 /* Foundation.framework */; }; - FB27D58D1E8DB57000DC8037 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = FB27D58C1E8DB57000DC8037 /* Info.plist */; }; FB27D5901E8DB57000DC8037 /* mySIMBLFixes.m in Sources */ = {isa = PBXBuildFile; fileRef = FB27D58F1E8DB57000DC8037 /* mySIMBLFixes.m */; }; FB27D5941E8DB57000DC8037 /* ZKSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = FB27D5931E8DB57000DC8037 /* ZKSwizzle.m */; }; - FB27D5961E8DB57000DC8037 /* PrefixHeader.pch in Resources */ = {isa = PBXBuildFile; fileRef = FB27D5951E8DB57000DC8037 /* PrefixHeader.pch */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ FB27D5831E8DB57000DC8037 /* mySIMBLFixes.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = mySIMBLFixes.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - FB27D5861E8DB57000DC8037 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - FB27D5881E8DB57000DC8037 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; FB27D58C1E8DB57000DC8037 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; FB27D58E1E8DB57000DC8037 /* mySIMBLFixes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mySIMBLFixes.h; sourceTree = ""; }; FB27D58F1E8DB57000DC8037 /* mySIMBLFixes.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = mySIMBLFixes.m; sourceTree = ""; }; @@ -32,8 +26,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FB27D5871E8DB57000DC8037 /* AppKit.framework in Frameworks */, - FB27D5891E8DB57000DC8037 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -44,7 +36,6 @@ isa = PBXGroup; children = ( FB27D58A1E8DB57000DC8037 /* mySIMBLFixes */, - FB27D5851E8DB57000DC8037 /* Frameworks */, FB27D5841E8DB57000DC8037 /* Products */, ); sourceTree = ""; @@ -57,15 +48,6 @@ name = Products; sourceTree = ""; }; - FB27D5851E8DB57000DC8037 /* Frameworks */ = { - isa = PBXGroup; - children = ( - FB27D5861E8DB57000DC8037 /* AppKit.framework */, - FB27D5881E8DB57000DC8037 /* Foundation.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; FB27D58A1E8DB57000DC8037 /* mySIMBLFixes */ = { isa = PBXGroup; children = ( @@ -121,7 +103,7 @@ FB27D57B1E8DB57000DC8037 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0830; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "Wolfgang Baird"; TargetAttributes = { FB27D5821E8DB57000DC8037 = { @@ -153,8 +135,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - FB27D5961E8DB57000DC8037 /* PrefixHeader.pch in Resources */, - FB27D58D1E8DB57000DC8037 /* Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -183,7 +163,9 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -191,7 +173,11 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -228,7 +214,9 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -236,7 +224,11 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -259,7 +251,6 @@ FB27D59A1E8DB57000DC8037 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; DEPLOYMENT_LOCATION = YES; @@ -279,7 +270,6 @@ FB27D59B1E8DB57000DC8037 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; DEPLOYMENT_LOCATION = YES; @@ -315,6 +305,7 @@ FB27D59B1E8DB57000DC8037 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate b/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate index 9f3589c..4f9b1aa 100644 Binary files a/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate and b/mySIMBLFixes/mySIMBLFixes.xcodeproj/project.xcworkspace/xcuserdata/w0lf.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/mySIMBLFixes/mySIMBLFixes.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/mySIMBLFixes.xcscheme b/mySIMBLFixes/mySIMBLFixes.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/mySIMBLFixes.xcscheme index f79597a..07cd4de 100644 --- a/mySIMBLFixes/mySIMBLFixes.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/mySIMBLFixes.xcscheme +++ b/mySIMBLFixes/mySIMBLFixes.xcodeproj/xcuserdata/w0lf.xcuserdatad/xcschemes/mySIMBLFixes.xcscheme @@ -1,6 +1,6 @@