├── BlurryLaunch.plist ├── Makefile ├── README.md ├── Tweak.xm ├── blurrylaunch ├── BlurryLaunch.mm ├── Makefile ├── Resources │ ├── BlurryLaunch.plist │ ├── BlurryLaunch@2x.png │ ├── Info.plist │ ├── Twitter@2x.png │ ├── YouTube@2x.png │ └── fuschia.png ├── com.uprisecreations.blurrylaunchsettings_0.0.1-2_iphoneos-arm.deb ├── control └── entry.plist ├── control └── debs ├── com.uprisecreations.blurrylaunch_0.0.1-34_iphoneos-arm.deb ├── com.uprisecreations.blurrylaunch_0.0.1-65_iphoneos-arm.deb ├── com.uprisecreations.blurrylaunch_0.0.1-66_iphoneos-arm.deb ├── com.uprisecreations.blurrylaunch_0.0.1-67_iphoneos-arm.deb └── com.uprisecreations.blurrylaunch_0.0.1-68_iphoneos-arm.deb /BlurryLaunch.plist: -------------------------------------------------------------------------------- 1 | { Filter = { Bundles = ( "com.apple.springboard" ); }; } 2 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ARCHS = armv7 arm64 2 | 3 | include theos/makefiles/common.mk 4 | 5 | TWEAK_NAME = BlurryLaunch 6 | BlurryLaunch_FILES = Tweak.xm 7 | BlurryLaunch_FRAMEWORKS = UIKit 8 | 9 | include $(THEOS_MAKE_PATH)/tweak.mk 10 | 11 | after-install:: 12 | install.exec "killall -9 SpringBoard" 13 | SUBPROJECTS += blurrylaunch 14 | include $(THEOS_MAKE_PATH)/aggregate.mk 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BlurryLaunch 2 | Cydia substrate tweak that adds colourful blur animations on app launching (supporting iOS 8.0 - 11.1.2) 3 | -------------------------------------------------------------------------------- /Tweak.xm: -------------------------------------------------------------------------------- 1 | //BlurryLaunch 2 | 3 | //Created by Billy Ellis @bellis1000 4 | 5 | //If you are using this source code for your own tweak, please credit me ;) 6 | 7 | /* I wrote this nearly 3 years ago, so sorry if the code is terrible */ 8 | 9 | float red = 92/255; 10 | float green = 225; 11 | float blue = 255; 12 | 13 | float alpha = 0.35; 14 | 15 | float duration = 0.5; 16 | 17 | static UIWindow *contentWindow = nil; 18 | 19 | %hook SBIconController 20 | 21 | //method for when an app icon is tapped 22 | 23 | -(void)iconWasTapped:(id)fp8{ 24 | 25 | NSMutableDictionary *prefsStrength = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/var/mobile/Library/Preferences/com.uprisecreations.blurrylaunch.plist"]; 26 | 27 | NSInteger integer2 = [[prefsStrength objectForKey:@"StrengthList"] intValue]; 28 | 29 | if (integer2 == 1){ 30 | 31 | alpha = 0.35; 32 | 33 | } 34 | 35 | if (integer2 == 2){ 36 | 37 | alpha = 0.5; 38 | 39 | } 40 | 41 | if (integer2 == 3){ 42 | 43 | alpha = 1.0; 44 | 45 | } 46 | 47 | //theme selection 48 | 49 | NSMutableDictionary *prefs = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/var/mobile/Library/Preferences/com.uprisecreations.blurrylaunch.plist"]; 50 | 51 | NSInteger integer = [[prefs objectForKey:@"ThemeList"] intValue]; 52 | 53 | if (integer == 1){ 54 | 55 | red = 92/255; 56 | green = 225; 57 | blue = 255; 58 | 59 | } 60 | 61 | if (integer == 2){ 62 | 63 | red = 53; 64 | green = 253; 65 | blue = 99; 66 | 67 | } 68 | 69 | if (integer == 3){ 70 | 71 | red = 0; 72 | green = 0; 73 | blue = 0; 74 | 75 | } 76 | 77 | if (integer == 4){ 78 | 79 | red = 252; 80 | green = 53; 81 | blue = 232; 82 | } 83 | 84 | if (integer == 5){ 85 | 86 | red = 252; 87 | green = 52; 88 | blue = 80; 89 | 90 | } 91 | 92 | if (integer == 6){ 93 | 94 | red = 212; 95 | green = 252; 96 | blue = 53; 97 | 98 | } 99 | 100 | if (integer == 7){ 101 | 102 | red = 40; 103 | green = 41; 104 | blue = 36; 105 | 106 | } 107 | 108 | if (integer == 8){ 109 | 110 | red = 75; 111 | green = 50; 112 | blue = 205; 113 | 114 | } 115 | 116 | if (integer == 9){ 117 | 118 | red = 17; 119 | green = 243; 120 | blue = 173; 121 | 122 | } 123 | 124 | 125 | NSMutableDictionary *prefs5 = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/var/mobile/Library/Preferences/com.uprisecreations.blurrylaunch.plist"]; 126 | 127 | NSInteger integer6 = [[prefs5 objectForKey:@"DurationList"] intValue]; 128 | 129 | if (integer6 == 1){ 130 | 131 | duration = 0.3; 132 | 133 | 134 | } 135 | 136 | if (integer6 == 2){ 137 | 138 | duration = 0.5; 139 | 140 | } 141 | 142 | if (integer6 == 3){ 143 | 144 | duration = 1.0; 145 | 146 | } 147 | 148 | //enables the tweak (Enable/Disable switch in settings) 149 | 150 | NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithContentsOfFile:[NSString stringWithFormat:@"%@/Library/Preferences/%@",NSHomeDirectory(),@"com.uprisecreations.blurrylaunchsettings.plist"]]; 151 | 152 | NSNumber* shouldNotify = [settings objectForKey:@"AwesomeSwitch1"]; 153 | 154 | if ([shouldNotify boolValue] == YES) 155 | 156 | { 157 | 158 | if (!contentWindow) { 159 | 160 | //works for all screen sizes 161 | 162 | contentWindow = [[UIWindow alloc]initWithFrame:CGRectMake(0,0,2048,2048)]; 163 | 164 | contentWindow.backgroundColor = [UIColor colorWithRed:red/255 green:green/255 blue:blue/255 alpha:alpha]; 165 | 166 | contentWindow.windowLevel = UIWindowLevelStatusBar; 167 | 168 | contentWindow.hidden = NO; 169 | 170 | UIVisualEffect *blurEffect; 171 | blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; 172 | 173 | UIVisualEffectView *visualEffectView; 174 | visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect]; 175 | 176 | visualEffectView.frame = contentWindow.bounds; 177 | [contentWindow addSubview:visualEffectView]; 178 | 179 | 180 | 181 | [self performSelector:@selector(fadeOut) withObject:nil afterDelay:duration]; 182 | 183 | } 184 | } 185 | 186 | %orig; 187 | 188 | } 189 | 190 | %new 191 | 192 | -(void)fadeOut{ 193 | 194 | contentWindow.alpha = 1; 195 | [UIView beginAnimations:nil context:nil]; 196 | 197 | [UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 198 | [UIView setAnimationDelegate:self]; 199 | 200 | [UIView setAnimationDuration:0.5]; 201 | 202 | contentWindow.alpha = 0; 203 | 204 | [UIView commitAnimations]; 205 | 206 | [self performSelector:@selector(hide) withObject:nil afterDelay:0.6]; 207 | 208 | } 209 | 210 | %new 211 | 212 | -(void)hide{ 213 | 214 | contentWindow.hidden = YES; 215 | contentWindow = nil; 216 | 217 | } 218 | 219 | %end 220 | -------------------------------------------------------------------------------- /blurrylaunch/BlurryLaunch.mm: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | 5 | @protocol PreferencesTableCustomView 6 | -(id)initWithSpecifier:(id)arg1; 7 | @optional 8 | -(CGFloat)preferredHeightForWidth:(CGFloat)arg1; 9 | @end 10 | 11 | 12 | @interface BlurryLaunchCustomCell : PSTableCell { 13 | 14 | UILabel *label; 15 | UILabel *underLabel; 16 | UILabel *otherLabel; 17 | } 18 | @end 19 | 20 | @implementation BlurryLaunchCustomCell 21 | -(id)initWithSpecifier:(id)specifier { 22 | 23 | self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"]; 24 | if (self) { 25 | 26 | CGRect frame = CGRectMake(0, -15, [[UIScreen mainScreen] bounds].size.width, 60); 27 | CGRect underFrame = CGRectMake(0, 24, [[UIScreen mainScreen] bounds].size.width, 60); 28 | 29 | 30 | label = [[UILabel alloc] initWithFrame:frame]; 31 | [label setNumberOfLines:1]; 32 | label.font = [UIFont fontWithName:@"HelveticaNeue-UltraLight" size:56]; 33 | [label setText:@"BlurryLaunch 2"]; 34 | [label setBackgroundColor:[UIColor clearColor]]; 35 | label.textColor = [UIColor colorWithRed:0.129 green:0.588 blue:0.953 alpha:1.0]; 36 | label.textAlignment = NSTextAlignmentCenter; 37 | 38 | underLabel = [[UILabel alloc] initWithFrame:underFrame]; 39 | [underLabel setNumberOfLines:1]; 40 | underLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:16]; 41 | [underLabel setText:@"Created by Billy Ellis"]; 42 | [underLabel setBackgroundColor:[UIColor clearColor]]; 43 | underLabel.textColor = [UIColor grayColor]; 44 | underLabel.textAlignment = NSTextAlignmentCenter; 45 | 46 | 47 | 48 | [self addSubview:label]; 49 | [self addSubview:underLabel]; 50 | 51 | } 52 | return self; 53 | } 54 | 55 | -(CGFloat)preferredHeightForWidth:(CGFloat)arg1 { 56 | 57 | CGFloat prefHeight = 90.0; 58 | return prefHeight; 59 | } 60 | @end 61 | 62 | @interface BlurryLaunchListController: PSListController { 63 | } 64 | @end 65 | 66 | @implementation BlurryLaunchListController 67 | 68 | -(void)twittermethod{ 69 | 70 | [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://www.twitter.com/bellis1000"]]; 71 | 72 | } 73 | 74 | -(void)youtubemethod{ 75 | 76 | 77 | [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://YouTube.com/user/pr0hacks2014"]]; 78 | 79 | } 80 | 81 | -(void)respring{ 82 | 83 | system("killall -9 SpringBoard"); 84 | 85 | 86 | } 87 | 88 | -(void)help{ 89 | 90 | UIAlertView *help = [[UIAlertView alloc]initWithTitle:@"Help" message:@"If the tweak is not working, try disabling and re-enabling it. If it still doesn't work, try rebooting or reinstalling the tweak." delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil]; 91 | 92 | [help show]; 93 | 94 | } 95 | - (id)specifiers { 96 | if(_specifiers == nil) { 97 | _specifiers = [[self loadSpecifiersFromPlistName:@"BlurryLaunch" target:self] retain]; 98 | } 99 | return _specifiers; 100 | } 101 | @end 102 | 103 | // vim:ft=objc 104 | -------------------------------------------------------------------------------- /blurrylaunch/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS = armv7 arm64 2 | include theos/makefiles/common.mk 3 | 4 | BUNDLE_NAME = BlurryLaunch 5 | BlurryLaunch_FILES = BlurryLaunch.mm 6 | BlurryLaunch_INSTALL_PATH = /Library/PreferenceBundles 7 | BlurryLaunch_FRAMEWORKS = UIKit 8 | BlurryLaunch_PRIVATE_FRAMEWORKS = Preferences 9 | 10 | include $(THEOS_MAKE_PATH)/bundle.mk 11 | 12 | internal-stage:: 13 | $(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END) 14 | $(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/BlurryLaunch.plist$(ECHO_END) 15 | -------------------------------------------------------------------------------- /blurrylaunch/Resources/BlurryLaunch.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | cell 9 | PSGroupCell 10 | footerCellClass 11 | BlurryLaunchCustomCell 12 | 13 | 14 | cell 15 | PSGroupCell 16 | 17 | 18 | cell 19 | PSSwitchCell 20 | default 21 | 22 | defaults 23 | com.uprisecreations.blurrylaunchsettings 24 | key 25 | AwesomeSwitch1 26 | label 27 | Enable 28 | icon 29 | blurrylaunch.png 30 | 31 | 32 | cell 33 | PSGroupCell 34 | label 35 | Settings 36 | 37 | 38 | 39 | key 40 | ThemeList 41 | cell 42 | PSLinkListCell 43 | label 44 | Blur Theme 45 | defaults 46 | com.uprisecreations.blurrylaunch 47 | detail 48 | PSListItemsController 49 | validTitles 50 | 51 | 52 | Cloudy Blue 53 | Vibrant Green 54 | Smoke White 55 | Fuchsia 56 | Vermilion 57 | Gold Yellow 58 | Dusty 59 | Midnight 60 | Turquoise 61 | 62 | 63 | 64 | validValues 65 | 66 | 67 | 1 68 | 2 69 | 3 70 | 4 71 | 5 72 | 6 73 | 7 74 | 8 75 | 9 76 | 77 | 78 | 79 | 80 | 81 | key 82 | StrengthList 83 | cell 84 | PSLinkListCell 85 | label 86 | Blur strength 87 | defaults 88 | com.uprisecreations.blurrylaunch 89 | detail 90 | PSListItemsController 91 | validTitles 92 | 93 | 94 | Low 95 | Medium 96 | Strong 97 | 98 | 99 | 100 | 101 | validValues 102 | 103 | 104 | 1 105 | 2 106 | 3 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | key 115 | DurationList 116 | cell 117 | PSLinkListCell 118 | label 119 | Blur Duration 120 | defaults 121 | com.uprisecreations.blurrylaunch 122 | detail 123 | PSListItemsController 124 | validTitles 125 | 126 | 127 | 0.3 128 | 0.5 129 | 1.0 130 | 131 | 132 | 133 | 134 | validValues 135 | 136 | 137 | 1 138 | 2 139 | 3 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | cell 148 | PSGroupCell 149 | label 150 | Contact 151 | 152 | 153 | cell 154 | PSButtonCell 155 | action 156 | twittermethod 157 | label 158 | Billy Ellis @bellis1000 159 | icon 160 | Twitter.png 161 | 162 | 163 | cell 164 | PSButtonCell 165 | action 166 | youtubemethod 167 | label 168 | Billy Ellis 169 | icon 170 | YouTube.png 171 | 172 | 173 | cell 174 | PSGroupCell 175 | 176 | 177 | cell 178 | PSButtonCell 179 | action 180 | help 181 | label 182 | Help 183 | 184 | 185 | cell 186 | PSGroupCell 187 | label 188 | Copyright (c) billy Ellis 2015 189 | 190 | 191 | title 192 | BlurryLaunch 193 | 194 | 195 | -------------------------------------------------------------------------------- /blurrylaunch/Resources/BlurryLaunch@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/blurrylaunch/Resources/BlurryLaunch@2x.png -------------------------------------------------------------------------------- /blurrylaunch/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | BlurryLaunch 9 | CFBundleIdentifier 10 | com.uprisecreations.blurrylaunchsettings 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | DTPlatformName 22 | iphoneos 23 | MinimumOSVersion 24 | 3.0 25 | NSPrincipalClass 26 | BlurryLaunchListController 27 | 28 | 29 | -------------------------------------------------------------------------------- /blurrylaunch/Resources/Twitter@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/blurrylaunch/Resources/Twitter@2x.png -------------------------------------------------------------------------------- /blurrylaunch/Resources/YouTube@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/blurrylaunch/Resources/YouTube@2x.png -------------------------------------------------------------------------------- /blurrylaunch/Resources/fuschia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/blurrylaunch/Resources/fuschia.png -------------------------------------------------------------------------------- /blurrylaunch/com.uprisecreations.blurrylaunchsettings_0.0.1-2_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/blurrylaunch/com.uprisecreations.blurrylaunchsettings_0.0.1-2_iphoneos-arm.deb -------------------------------------------------------------------------------- /blurrylaunch/control: -------------------------------------------------------------------------------- 1 | Package: com.uprisecreations.blurrylaunchsettings 2 | Name: BlurryLaunch 3 | Depends: mobilesubstrate 4 | Version: 0.0.1 5 | Architecture: iphoneos-arm 6 | Description: An awesome MobileSubstrate tweak! 7 | Maintainer: Billy Ellis 8 | Author: Billy Ellis 9 | Section: Tweaks 10 | -------------------------------------------------------------------------------- /blurrylaunch/entry.plist: -------------------------------------------------------------------------------- 1 | { 2 | entry = { 3 | bundle = BlurryLaunch; 4 | cell = PSLinkCell; 5 | detail = BlurryLaunchListController; 6 | icon = BlurryLaunch.png; 7 | isController = 1; 8 | label = BlurryLaunch; 9 | }; 10 | } 11 | -------------------------------------------------------------------------------- /control: -------------------------------------------------------------------------------- 1 | Package: com.uprisecreations.blurrylaunch 2 | Name: BlurryLaunch 3 | Depends: mobilesubstrate 4 | Version: 0.0.1 5 | Architecture: iphoneos-arm 6 | Description: An awesome MobileSubstrate tweak! 7 | Maintainer: Billy Ellis 8 | Author: Billy Ellis 9 | Section: Tweaks 10 | -------------------------------------------------------------------------------- /debs/com.uprisecreations.blurrylaunch_0.0.1-34_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/debs/com.uprisecreations.blurrylaunch_0.0.1-34_iphoneos-arm.deb -------------------------------------------------------------------------------- /debs/com.uprisecreations.blurrylaunch_0.0.1-65_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/debs/com.uprisecreations.blurrylaunch_0.0.1-65_iphoneos-arm.deb -------------------------------------------------------------------------------- /debs/com.uprisecreations.blurrylaunch_0.0.1-66_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/debs/com.uprisecreations.blurrylaunch_0.0.1-66_iphoneos-arm.deb -------------------------------------------------------------------------------- /debs/com.uprisecreations.blurrylaunch_0.0.1-67_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/debs/com.uprisecreations.blurrylaunch_0.0.1-67_iphoneos-arm.deb -------------------------------------------------------------------------------- /debs/com.uprisecreations.blurrylaunch_0.0.1-68_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Billy-Ellis/BlurryLaunch/ab568e7cf004bf8a219ea2d14658f96fa1e0c10b/debs/com.uprisecreations.blurrylaunch_0.0.1-68_iphoneos-arm.deb --------------------------------------------------------------------------------