├── DeadRinger.plist ├── LICENSE ├── Makefile ├── README.md ├── Tweak.xm ├── control └── packages ├── me.kritanta.deadringer_0.0.1-1+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-10+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-11+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-12+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-13+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-14+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-15+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-16+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-2+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-3+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-4+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-5+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-6+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-7+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-8+debug_iphoneos-arm.deb ├── me.kritanta.deadringer_0.0.1-9+debug_iphoneos-arm.deb └── me.kritanta.deadringer_0.1.0_iphoneos-arm.deb /DeadRinger.plist: -------------------------------------------------------------------------------- 1 | { Filter = { Bundles = ( "com.apple.springboard" ); }; } 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice (including the next 13 | paragraph) shall be included in all copies or substantial portions of the 14 | Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 19 | OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 21 | OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | INSTALL_TARGET_PROCESSES = SpringBoard 2 | PACKAGE_VERSION=$(THEOS_PACKAGE_BASE_VERSION) 3 | ARCHS = armv7 arm64 arm64e 4 | TARGET = iphone:clang:11.2:10.0 5 | SYSROOT = $(THEOS)/sdks/iPhoneOS11.2.sdk 6 | 7 | include $(THEOS)/makefiles/common.mk 8 | 9 | TWEAK_NAME = DeadRinger 10 | 11 | DeadRinger_FILES = Tweak.xm 12 | DeadRinger_CFLAGS = -fobjc-arc 13 | 14 | include $(THEOS_MAKE_PATH)/tweak.mk 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DeadRinger 2 | 3 | Minimalist Mute Icon on iOS 13 -------------------------------------------------------------------------------- /Tweak.xm: -------------------------------------------------------------------------------- 1 | // 22 -3 ipx 2 | #include 3 | // These headers aren't acurate, i'm lazy 4 | @interface SBRingerPillView : UIView 5 | 6 | @property (nonatomic,retain) UIView * materialView; //@synthesize materialView=_materialView - In the implementation block 7 | @property (nonatomic,retain) UIView * silentModeLabel; //@synthesize silentModeLabel=_silentModeLabel - In the implementation block 8 | @property (nonatomic,retain) UIView * ringerLabel; //@synthesize ringerLabel=_ringerLabel - In the implementation block 9 | @property (nonatomic,retain) UIView * onLabel; //@synthesize onLabel=_onLabel - In the implementation block 10 | @property (nonatomic,retain) UIView * offLabel; //@synthesize offLabel=_offLabel - In the implementation block 11 | @property (nonatomic,retain) UIView * slider; //@synthesize slider=_slider - In the implementation block 12 | @property (nonatomic,retain) UIColor * glyphTintColor; //@synthesize glyphTintColor=_glyphTintColor - In the implementation block 13 | @property (nonatomic,copy) NSArray * glyphTintBackgroundLayers; //@synthesize glyphTintBackgroundLayers=_glyphTintBackgroundLayers - In the implementation block 14 | @property (nonatomic,copy) NSArray * glyphTintShapeLayers; //@synthesize glyphTintShapeLayers=_glyphTintShapeLayers - In the implementation block 15 | @property (assign,nonatomic) unsigned long long state; 16 | 17 | @end 18 | 19 | static bool isNotched() 20 | { 21 | if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) 22 | { 23 | switch ((int)[[UIScreen mainScreen] nativeBounds].size.height) 24 | { 25 | case 2436: 26 | { 27 | return YES; 28 | break; 29 | } 30 | case 2688: 31 | { 32 | return YES; 33 | break; 34 | } 35 | case 1792: 36 | { 37 | return YES; 38 | break; 39 | } 40 | default: 41 | { 42 | return NO; 43 | break; 44 | } 45 | } 46 | } 47 | return NO; 48 | } 49 | 50 | 51 | %hook SBRingerPillView 52 | 53 | - (id)init 54 | { 55 | id x = %orig; 56 | [self setFrame:(CGRectMake(22,-3,self.frame.size.width,self.frame.size.height))]; 57 | self.alpha = 0; 58 | self.hidden = YES; 59 | return x; 60 | } 61 | - (void)layoutSubviews 62 | { 63 | self.alpha = 0; 64 | self.hidden = YES; 65 | [self setFrame:(CGRectMake(22,-3,self.frame.size.width,self.frame.size.height))]; 66 | %orig; 67 | self.onLabel.alpha = 0; 68 | self.onLabel.hidden = YES; 69 | self.offLabel.alpha = 0; 70 | self.offLabel.hidden = YES; 71 | self.ringerLabel.alpha = 0; 72 | self.ringerLabel.hidden = YES; 73 | self.silentModeLabel.alpha = 0; 74 | self.silentModeLabel.hidden = YES; 75 | self.materialView.alpha = 0; 76 | self.materialView.hidden = YES; 77 | self.slider.alpha = 0; 78 | self.slider.hidden = YES; 79 | } 80 | 81 | - (void)setFrame:(CGRect)frame 82 | { 83 | if (isNotched()) 84 | { 85 | %orig(CGRectMake(22, -3, frame.size.width, frame.size.height)); 86 | } 87 | else 88 | { 89 | %orig(CGRectMake(0, -10, frame.size.width, frame.size.height)); 90 | } 91 | self.alpha = 1; 92 | self.hidden = NO; 93 | } 94 | 95 | - (CGRect)frame 96 | { 97 | CGRect f = %orig; 98 | if (isNotched()) 99 | { 100 | return CGRectMake(22, -3, f.size.width, f.size.height); 101 | } 102 | else 103 | { 104 | return CGRectMake(0, -10, f.size.width, f.size.height); 105 | } 106 | } 107 | 108 | - (void)setMaterialView:(UIView *)arg 109 | { 110 | arg.alpha = 0; 111 | arg.hidden = YES; 112 | %orig(arg); 113 | } 114 | 115 | - (void)setTransform:(CGAffineTransform)transform 116 | { 117 | if (CGAffineTransformEqualToTransform(CGAffineTransformTranslate(CGAffineTransformIdentity, 0, -103), transform)) 118 | { 119 | [[NSNotificationCenter defaultCenter] postNotificationName:@"DeadRingerStateZero" object:nil]; 120 | self.hidden = YES; 121 | } 122 | %orig(CGAffineTransformIdentity); 123 | } 124 | 125 | - (CGAffineTransform)transform 126 | { 127 | return CGAffineTransformIdentity; 128 | } 129 | 130 | - (void)setState:(NSUInteger)state 131 | { 132 | %orig; 133 | if (state == 0) 134 | [[NSNotificationCenter defaultCenter] postNotificationName:@"DeadRingerStateZero" object:nil]; 135 | else 136 | [[NSNotificationCenter defaultCenter] postNotificationName:@"DeadRingerStateOne" object:nil]; 137 | } 138 | 139 | %end 140 | 141 | @interface _UIStatusBarStringView : UIView 142 | 143 | @property (nonatomic, retain) NSString *text; 144 | 145 | @end 146 | 147 | %hook _UIStatusBarStringView 148 | 149 | - (id)initWithFrame:(CGRect)frame 150 | { 151 | id x = %orig(frame); 152 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(recieveNotification:) name:@"DeadRingerStateZero" object:nil]; 153 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(recieveNotification:) name:@"DeadRingerStateOne" object:nil]; 154 | return x; 155 | } 156 | 157 | %new 158 | - (void)recieveNotification:(NSNotification *)notification 159 | { 160 | if (isNotched()) 161 | { 162 | if (![self.text containsString:@":"]) return; 163 | } 164 | else 165 | { 166 | if ([self.text containsString:@":"] || [self.text containsString:@"%%"]) return; 167 | } 168 | [UIView animateWithDuration:.1 169 | animations: 170 | ^{ 171 | self.alpha = ([[notification name] isEqualToString:@"DeadRingerStateOne"]) ? 0 : 1; 172 | }]; 173 | } 174 | 175 | %end 176 | 177 | %hook SBRingerHUDViewController 178 | 179 | - (void)_layoutPillView 180 | { 181 | //dont call super 182 | //NSLog(@"DeadRinger"); 183 | } 184 | 185 | %end -------------------------------------------------------------------------------- /control: -------------------------------------------------------------------------------- 1 | Package: me.kritanta.deadringer 2 | Name: DeadRinger 3 | Depends: mobilesubstrate, firmware (>= 13.0) 4 | Version: 0.1.0 5 | Architecture: iphoneos-arm 6 | Description: Minimalist ringer icon in top left corner 7 | Maintainer: Kritanta 8 | Author: Kritanta 9 | Section: Tweaks 10 | -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-1+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-1+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-10+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-10+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-11+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-11+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-12+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-12+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-13+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-13+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-14+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-14+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-15+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-15+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-16+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-16+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-2+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-2+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-3+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-3+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-4+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-4+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-5+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-5+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-6+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-6+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-7+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-7+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-8+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-8+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.0.1-9+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.0.1-9+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /packages/me.kritanta.deadringer_0.1.0_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kritanta-ios-tweaks/DeadRinger/346b0e46de95935606ce5022375a19a86eb90ced/packages/me.kritanta.deadringer_0.1.0_iphoneos-arm.deb --------------------------------------------------------------------------------