14 Commits

6 changed files with 338 additions and 21 deletions

View File

@ -1 +1 @@
{ Filter = { Bundles = ( "com.apple.springboard" ); }; }
{ Filter = { Bundles = ( "com.apple.springboard", "com.apple.CarPlayApp" ); }; }

266
Tweak.x
View File

@ -24,7 +24,13 @@ static BOOL gridSwitcher;
static BOOL hideLSBatt;
static BOOL statusBarShowTimeLS;
static BOOL hideLabels;
static BOOL hideCarPlayLabels;
static BOOL hideFolderBadges;
static BOOL hideFolderTitle;
static BOOL hideFolderBG;
static BOOL hideFolderBGSB;
static BOOL hideFolderDots;
static BOOL hideNoOlderNotifs;
//static BOOL hideStatusBarLS;
static BOOL hideCCGrabber;
@ -35,7 +41,13 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
NSNumber *eHideLSBatt = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideLSBatt" inDomain:nsDomainString];
NSNumber *eStatusBarShowTimeLS = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"statusBarShowTimeLS" inDomain:nsDomainString];
NSNumber *eHideLabels = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideLabels" inDomain:nsDomainString];
NSNumber *eHideCarPlayLabels = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideCarPlayLabels" inDomain:nsDomainString];
NSNumber *eHideFolderBadges = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideFolderBadges" inDomain:nsDomainString];
NSNumber *eHideFolderTitle = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideFolderTitle" inDomain:nsDomainString];
NSNumber *eHideFolderBG = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideFolderBG" inDomain:nsDomainString];
NSNumber *eHideFolderBGSB = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideFolderBGSB" inDomain:nsDomainString];
NSNumber *eHideFolderDots = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideFolderDots" inDomain:nsDomainString];
NSNumber *eHideNoOlderNotifs = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideNoOlderNotifs" inDomain:nsDomainString];
//NSNumber *eHideStatusBarLS = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideStatusBarLS" inDomain:nsDomainString];
NSNumber *eHideCCGrabber = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"hideCCGrabber" inDomain:nsDomainString];
@ -45,7 +57,13 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
hideLSBatt = (eHideLSBatt) ? [eHideLSBatt boolValue]:NO;
statusBarShowTimeLS = (eStatusBarShowTimeLS) ? [eStatusBarShowTimeLS boolValue]:NO;
hideLabels = (eHideLabels) ? [eHideLabels boolValue]:NO;
hideCarPlayLabels = (eHideCarPlayLabels) ? [eHideCarPlayLabels boolValue]:NO;
hideFolderBadges = (eHideFolderBadges) ? [eHideFolderBadges boolValue]:NO;
hideFolderTitle = (eHideFolderTitle) ? [eHideFolderTitle boolValue]:NO;
hideFolderBG = (eHideFolderBG) ? [eHideFolderBG boolValue]:NO;
hideFolderBGSB = (eHideFolderBGSB) ? [eHideFolderBGSB boolValue]:NO;
hideFolderDots = (eHideFolderDots) ? [eHideFolderDots boolValue]:NO;
hideNoOlderNotifs = (eHideNoOlderNotifs) ? [eHideNoOlderNotifs boolValue]:NO;
//hideStatusBarLS = (eHideStatusBarLS) ? [eHideStatusBarLS boolValue]:NO;
hideCCGrabber = (eHideCCGrabber) ? [eHideCCGrabber boolValue]:NO;
}
@ -53,6 +71,9 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
// headers and hooks
#import <UIKit/UIKit.h>
/*@interface SBFolderView : UIView
@end*/
@interface SBIconView : UIView
-(void)setLabelHidden:(BOOL)hidden;
@end
@ -61,26 +82,68 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
-(id)badgeNumberOrString;
@end
@interface CSTeachableMomentsContainerView {
}
@interface CSTeachableMomentsContainerView
@property (nonatomic,retain) UIView * controlCenterGrabberView;
@end
// HIDE CC GRABBER START //
%hook CSTeachableMomentsContainerView
- (void)layoutSubviews {
if (enabled && hideCCGrabber) {
[self.controlCenterGrabberView setHidden:YES];
@interface SBDashBoardTeachableMomentsContainerView
@property (nonatomic,retain) UIView * controlCenterGrabberView;
@end
@interface SBFolderIconImageView : UIView
@property (nonatomic, retain) UIView *backgroundView;
@end
@interface SBIconListPageControl
@property (nonatomic, assign, readwrite, getter=isHidden) BOOL hidden;
@end
@interface SBIconController : NSObject
+(id)sharedInstance;
-(void)_closeFolderController:(id)arg1 animated:(BOOL)arg2 withCompletion:(id)arg3;
@end
@interface SBUILegibilityLabel : UIView
@property (nonatomic,copy) NSString *string;
@end
@interface NCNotificationListSectionRevealHintView : UIView
@property (nonatomic,retain)SBUILegibilityLabel *revealHintTitle;
@end
/*@interface SBFloatyFolderView : SBFolderView
-(void)_handleOutsideTap:(id)arg1 ;
@end
@interface SBFolderController : UIViewController
@property (nonatomic,readonly) UIView * containerView;
@end
@interface SBFloatyFolderScrollView : UIScrollView
-(void)closeFolder:(id)selector;
-(id)_viewControllerForAncestor;
@end*/
#ifndef kCFCoreFoundationVersionNumber_iOS_13_0
#define kCFCoreFoundationVersionNumber_iOS_13_0 1665.15
#endif
#define kSLSystemVersioniOS13 kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0
%group universal
// HIDE NO OLDER NOTIFICATIONS START //
%hook NCNotificationListSectionRevealHintView
-(void)didMoveToWindow {
%orig;
if (enabled && hideNoOlderNotifs) {
self.revealHintTitle.string = @"";
}
else {
[self.controlCenterGrabberView setHidden:NO];
}
return %orig;
}
%end
// HIDE CC GRABBER END //
// HIDE NO OLDER NOTIFICATIONS END //
// QUICK ACTIONS BG START //
%hook UICoverSheetButton
@ -95,7 +158,7 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
%end
// QUICK ACTIONS BG END //
// HIDE BADGE TEXT START //
// HIDE FOLDER BADGE TEXT START //
%hook SBIcon
-(id)badgeNumberOrString {
if (enabled && hideFolderBadges) {
@ -106,7 +169,7 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
}
}
%end
// HIDE BADGE TEXT END //
// HIDE FOLDER BADGE TEXT END //
// HIDE LABELS START //
%hook SBIconView
@ -176,11 +239,97 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
%end
// NO LS BATTERY END //
// SHOW FOLDER TITLE START //
%hook SBFloatyFolderView
-(BOOL)_showsTitle {
if (enabled && hideFolderTitle) {
return NO;
}
else {
return %orig;
}
}
%end
// SHOW FOLDER TITLE END //
// HIDE FOLDER BACKGROUND START //
%hook SBFloatyFolderView
-(void)setBackgroundAlpha:(CGFloat)arg1 {
if (enabled && hideFolderBG) {
%orig(0.0);
}
else {
%orig;
}
}
%end
%hook SBFolderIconImageView
-(void)layoutSubviews {
%orig;
if (enabled && hideFolderBGSB) {
self.backgroundView.alpha = 0;
self.backgroundView.hidden = 1;
}
}
%end
// Close folder when tapped inside
/*%hook SBFloatyFolderScrollView
-(SBFloatyFolderScrollView *)initWithFrame:(CGRect)frame {
if (enabled && hideFolderBG) {
SBFloatyFolderScrollView *yeet = %orig;
UITapGestureRecognizer *closeGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(closeFolder)];
[yeet addGestureRecognizer:closeGesture];
return yeet;
}
else {
return %orig;
}
}
%new
-(void)closeFolder:(id)sender {
UIViewController *parentController = [self _viewControllerForAncestor];
if ([parentController isKindOfClass:[objc_getClass("SBFolderController") class]]) {
SBFolderController *sbfc = (SBFolderController *)parentController;
if (sbfc && [sbfc.containerView isKindOfClass:[objc_getClass("SBFloatyFolderView") class]]) {
[(SBFloatyFolderView *)sbfc.containerView _handleOutsideTap:nil];
}
}
}
%end*/
// HIDE FOLDER BACKGROUND END //
// HIDE FOLDER DOTS START //
%hook SBIconListPageControl
-(void)layoutSubviews {
if (enabled && hideFolderDots) {
self.hidden = YES;
}
else {
%orig;
}
}
%end
// HIDE FOLDER DOTS END //
%end // end universal group
// stuff that only works on iOS 13
%group ios13
// SHOW TIME IN LS STATUSBAR START //
%hook CSCoverSheetViewController
- (bool)shouldShowLockStatusBarTime {
if (enabled && statusBarShowTimeLS) {
return 1;
return YES;
}
else {
return %orig;
@ -189,8 +338,91 @@ static void notificationCallback(CFNotificationCenterRef center, void *observer,
%end
// SHOW TIME IN LS STATUSBAR END //
// HIDE CC GRABBER START //
%hook CSTeachableMomentsContainerView
- (void)layoutSubviews {
if (enabled && hideCCGrabber) {
[self.controlCenterGrabberView setHidden:YES];
}
else {
[self.controlCenterGrabberView setHidden:NO];
}
return %orig;
}
%end
// HIDE CC GRABBER END //
// HIDE CARPLAY LABELS START //
%hook CARIconView
+(CGSize)maxLabelSizeForIconImageSize:(CGSize)imageSize {
if (enabled && hideCarPlayLabels) {
return CGSizeZero;
}
else {
return %orig;
}
}
%end
// HIDE CARPLAY LABELS END //
%end // end ios13 group
// stuff that only works on iOS 12
%group ios12
// SHOW TIME IN LS STATUSBAR START //
%hook SBLockScreenViewControllerBase
- (bool)shouldShowLockStatusBarTime {
if (enabled && statusBarShowTimeLS) {
return YES;
}
else {
return %orig;
}
}
%end
// SHOW TIME IN LS STATUSBAR END //
// HIDE CC GRABBER START //
%hook SBDashBoardTeachableMomentsContainerView
- (void)layoutSubviews {
if (enabled && hideCCGrabber) {
[self.controlCenterGrabberView setHidden:YES];
}
else {
[self.controlCenterGrabberView setHidden:NO];
}
return %orig;
}
%end
// HIDE CC GRABBER END //
// HIDE CARPLAY LABELS START //
%hook SBStarkIconView
+(CGSize)maxLabelSize {
if (enabled && hideCarPlayLabels) {
return CGSizeZero;
}
else {
return %orig;
}
}
%end
// HIDE CARPLAY LABELS END //
%end // end ios12 group
// LISTENERS
%ctor {
%init(universal);
// check iOS version
if (kSLSystemVersioniOS13) {
%init(ios13);
}
else {
%init(ios12);
}
// prefs changed listener
notificationCallback(NULL, NULL, NULL, NULL, NULL);
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, notificationCallback, (CFStringRef)nsNotificationString, NULL, CFNotificationSuspensionBehaviorCoalesce);

View File

@ -1,9 +1,10 @@
Package: com.yaypixxo.kage
Name: Kage
Depends: mobilesubstrate, preferenceloader
Version: 1.0.0
Version: 1.1.2
Architecture: iphoneos-arm
Description: show/hide/change ls and hs stuff!
Icon: https://yaypixxo.com/assets/com.yaypixxo.kage.png
Depiction: https://yaypixxo.com/depictions?p=com.yaypixxo.kage
SileoDepiction: https://yaypixxo.com/sileo/com.yaypixxo.kage
Maintainer: YaYPIXXO <viggo@lekdorf.com>

View File

@ -34,7 +34,7 @@
<key>key</key>
<string>hideQuickActionsBG</string>
<key>label</key>
<string>Hide Quick Actions BG*</string>
<string>Hide Quick Actions BG (iPhone X)*</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
@ -76,7 +76,7 @@
<key>key</key>
<string>statusBarShowTimeLS</string>
<key>label</key>
<string>Time in LS Status Bar</string>
<string>Time in LS Status Bar (iPhone X)</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
@ -94,6 +94,20 @@
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.yaypixxo.kage</string>
<key>key</key>
<string>hideCarPlayLabels</string>
<key>label</key>
<string>Hide Icon Labels (CarPlay)</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
@ -108,6 +122,76 @@
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.yaypixxo.kage</string>
<key>key</key>
<string>hideFolderTitle</string>
<key>label</key>
<string>Hide Folder Titles</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.yaypixxo.kage</string>
<key>key</key>
<string>hideFolderBG</string>
<key>label</key>
<string>Hide Folder Background</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.yaypixxo.kage</string>
<key>key</key>
<string>hideFolderBGSB</string>
<key>label</key>
<string>Hide Folder Background (on HS)</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.yaypixxo.kage</string>
<key>key</key>
<string>hideFolderDots</string>
<key>label</key>
<string>Hide Page Dots*</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.yaypixxo.kage</string>
<key>key</key>
<string>hideNoOlderNotifs</string>
<key>label</key>
<string>Hide "No Older Notifications"</string>
<key>PostNotification</key>
<string>com.yaypixxo.kage/preferences.changed</string>
</dict>
<!--<dict>
<key>cell</key>
<string>PSSwitchCell</string>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB