@@ -9,4 +9,4 @@ Name: ZenithDark | |||
Sileodepiction: https://raw.githubusercontent.com/mac-user669/repo/master/sileodepictions/ZenithDark.json | |||
Depiction: https://mac-user669.github.io/repo/depictions/?p=com.mac-user669.zenithdark/ | |||
Version: 1.0 | |||
Installed-Size: 312 | |||
Installed-Size: 344 |
@@ -22,36 +22,7 @@ | |||
<key>label</key> | |||
<string>Enable</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSGroupCell</string> | |||
<key>label</key> | |||
<string>Customization</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSSwitchCell</string> | |||
<key>default</key> | |||
<true/> | |||
<key>defaults</key> | |||
<string>com.mac-user669.zenithdarkprefs</string> | |||
<key>key</key> | |||
<string>replaceoriginalview</string> | |||
<key>label</key> | |||
<string>Replace Original View</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSSwitchCell</string> | |||
<key>default</key> | |||
<false/> | |||
<key>defaults</key> | |||
<string>com.mac-user669.zenithdarkprefs</string> | |||
<key>key</key> | |||
<string>notificationBadgesEnabled</string> | |||
<key>label</key> | |||
<string>Enable Notification Badges</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSGroupCell</string> |
@@ -0,0 +1,20 @@ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/arm64/Tweak.xm.27a6b95b.o: \ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/arm64/Tweak.xm.mm \ | |||
/Users/cooperhull/theos/Prefix.pch \ | |||
/Users/cooperhull/theos/include/_Prefix/BackwardsCompat.h \ | |||
/Users/cooperhull/theos/include/_Prefix/IOSMacros.h \ | |||
/Users/cooperhull/theos/include/HBLog.h \ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/ZenithDark.h \ | |||
/Users/cooperhull/theos/include/substrate.h | |||
/Users/cooperhull/theos/Prefix.pch: | |||
/Users/cooperhull/theos/include/_Prefix/BackwardsCompat.h: | |||
/Users/cooperhull/theos/include/_Prefix/IOSMacros.h: | |||
/Users/cooperhull/theos/include/HBLog.h: | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/ZenithDark.h: | |||
/Users/cooperhull/theos/include/substrate.h: |
@@ -0,0 +1,20 @@ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/arm64/Tweak.xm.c4e2add9.o: \ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/arm64/Tweak.xm.mm \ | |||
/Users/cooperhull/theos/Prefix.pch \ | |||
/Users/cooperhull/theos/include/_Prefix/BackwardsCompat.h \ | |||
/Users/cooperhull/theos/include/_Prefix/IOSMacros.h \ | |||
/Users/cooperhull/theos/include/HBLog.h \ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/ZenithDark.h \ | |||
/Users/cooperhull/theos/include/substrate.h | |||
/Users/cooperhull/theos/Prefix.pch: | |||
/Users/cooperhull/theos/include/_Prefix/BackwardsCompat.h: | |||
/Users/cooperhull/theos/include/_Prefix/IOSMacros.h: | |||
/Users/cooperhull/theos/include/HBLog.h: | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/ZenithDark.h: | |||
/Users/cooperhull/theos/include/substrate.h: |
@@ -13,8 +13,6 @@ | |||
#import "ZenithDark.h" | |||
static BOOL enabled; | |||
static BOOL replaceOriginalView; | |||
static BOOL notificationBadgesEnabled; | |||
static void loadPrefs() { | |||
static NSMutableDictionary *settings; | |||
@@ -27,13 +25,10 @@ static void loadPrefs() { | |||
} | |||
enabled = [([settings objectForKey:@"enabled"] ? [settings objectForKey:@"enabled"] : @(YES)) boolValue]; | |||
replaceOriginalView = [([settings objectForKey:@"replaceoriginalview"] ? [settings objectForKey:@"replaceoriginalview"] : @(YES)) boolValue]; | |||
notificationBadgesEnabled = [([settings objectForKey:@"notificationBadgesEnabled"] ? [settings objectForKey:@"notificationBadgesEnabled"] : NO) boolValue]; | |||
} | |||
#include <substrate.h> | |||
#if defined(__clang__) | |||
#if __has_feature(objc_arc) | |||
@@ -57,10 +52,11 @@ static void loadPrefs() { | |||
@class ZNGrabberAccessoryView; | |||
static void (*_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$)(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UITraitCollection *); static void _logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UITraitCollection *); static void (*_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$)(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UIColor *); static void _logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UIColor *); | |||
#line 35 "Tweak.xm" | |||
#line 30 "Tweak.xm" | |||
static void _logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, UITraitCollection * previousTraitCollection) { | |||
if (enabled) { | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(self, _cmd, previousTraitCollection); | |||
if (@available(iOS 13, *)) { | |||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { | |||
@@ -69,13 +65,16 @@ static void _logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidCh | |||
else { | |||
[self setBackgroundColor:kLightModeColor]; | |||
} | |||
} | |||
} | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(self, _cmd, previousTraitCollection); | |||
} | |||
static void _logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, UIColor * backgroundColor) { | |||
if (enabled) { | |||
if (@available(iOS 13, *)) { | |||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { | |||
@@ -84,15 +83,19 @@ static void _logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$( | |||
else { | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(self, _cmd, backgroundColor); | |||
} | |||
} | |||
} | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(self, _cmd, backgroundColor); | |||
} | |||
static __attribute__((constructor)) void _logosLocalCtor_bbe4a825(int __unused argc, char __unused **argv, char __unused **envp) { | |||
static __attribute__((constructor)) void _logosLocalCtor_7f270ec4(int __unused argc, char __unused **argv, char __unused **envp) { | |||
loadPrefs(); | |||
@@ -102,4 +105,4 @@ dlopen ("/Library/MobileSubstrate/DynamicLibraries/Zenith.dylib", RTLD_NOW); | |||
} | |||
static __attribute__((constructor)) void _logosLocalInit() { | |||
{Class _logos_class$_ungrouped$ZNGrabberAccessoryView = objc_getClass("ZNGrabberAccessoryView"); MSHookMessageEx(_logos_class$_ungrouped$ZNGrabberAccessoryView, @selector(traitCollectionDidChange:), (IMP)&_logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$, (IMP*)&_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$);MSHookMessageEx(_logos_class$_ungrouped$ZNGrabberAccessoryView, @selector(setBackgroundColor:), (IMP)&_logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$, (IMP*)&_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$);} } | |||
#line 77 "Tweak.xm" | |||
#line 80 "Tweak.xm" |
@@ -0,0 +1,20 @@ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/arm64e/Tweak.xm.6fecb14d.o: \ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/arm64e/Tweak.xm.mm \ | |||
/Users/cooperhull/theos/Prefix.pch \ | |||
/Users/cooperhull/theos/include/_Prefix/BackwardsCompat.h \ | |||
/Users/cooperhull/theos/include/_Prefix/IOSMacros.h \ | |||
/Users/cooperhull/theos/include/HBLog.h \ | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/ZenithDark.h \ | |||
/Users/cooperhull/theos/include/substrate.h | |||
/Users/cooperhull/theos/Prefix.pch: | |||
/Users/cooperhull/theos/include/_Prefix/BackwardsCompat.h: | |||
/Users/cooperhull/theos/include/_Prefix/IOSMacros.h: | |||
/Users/cooperhull/theos/include/HBLog.h: | |||
/Users/cooperhull/Desktop/Tweaks/ZenithDark/ZenithDark.h: | |||
/Users/cooperhull/theos/include/substrate.h: |
@@ -0,0 +1,108 @@ | |||
#line 1 "Tweak.xm" | |||
#import "ZenithDark.h" | |||
static BOOL enabled; | |||
static void loadPrefs() { | |||
static NSMutableDictionary *settings; | |||
CFArrayRef keyList = CFPreferencesCopyKeyList(CFSTR("com.mac-user669.zenithdarkprefs"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost); | |||
if (keyList) { | |||
settings = (NSMutableDictionary *)CFBridgingRelease(CFPreferencesCopyMultiple(keyList, CFSTR("com.mac-user669.zenithdarkprefs"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost)); | |||
CFRelease(keyList); | |||
} else { | |||
settings = [NSMutableDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.mac-user669.zenithdarkprefs.plist"]; | |||
} | |||
enabled = [([settings objectForKey:@"enabled"] ? [settings objectForKey:@"enabled"] : @(YES)) boolValue]; | |||
} | |||
#include <substrate.h> | |||
#if defined(__clang__) | |||
#if __has_feature(objc_arc) | |||
#define _LOGOS_SELF_TYPE_NORMAL __unsafe_unretained | |||
#define _LOGOS_SELF_TYPE_INIT __attribute__((ns_consumed)) | |||
#define _LOGOS_SELF_CONST const | |||
#define _LOGOS_RETURN_RETAINED __attribute__((ns_returns_retained)) | |||
#else | |||
#define _LOGOS_SELF_TYPE_NORMAL | |||
#define _LOGOS_SELF_TYPE_INIT | |||
#define _LOGOS_SELF_CONST | |||
#define _LOGOS_RETURN_RETAINED | |||
#endif | |||
#else | |||
#define _LOGOS_SELF_TYPE_NORMAL | |||
#define _LOGOS_SELF_TYPE_INIT | |||
#define _LOGOS_SELF_CONST | |||
#define _LOGOS_RETURN_RETAINED | |||
#endif | |||
@class ZNGrabberAccessoryView; | |||
static void (*_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$)(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UITraitCollection *); static void _logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UITraitCollection *); static void (*_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$)(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UIColor *); static void _logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST, SEL, UIColor *); | |||
#line 30 "Tweak.xm" | |||
static void _logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, UITraitCollection * previousTraitCollection) { | |||
if (enabled) { | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(self, _cmd, previousTraitCollection); | |||
if (@available(iOS 13, *)) { | |||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { | |||
[self setBackgroundColor:kDarkModeColor]; | |||
} | |||
else { | |||
[self setBackgroundColor:kLightModeColor]; | |||
} | |||
} | |||
} | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(self, _cmd, previousTraitCollection); | |||
} | |||
static void _logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(_LOGOS_SELF_TYPE_NORMAL ZNGrabberAccessoryView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, UIColor * backgroundColor) { | |||
if (enabled) { | |||
if (@available(iOS 13, *)) { | |||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(self, _cmd, kDarkModeColor); | |||
} | |||
else { | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(self, _cmd, backgroundColor); | |||
} | |||
} | |||
} | |||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(self, _cmd, backgroundColor); | |||
} | |||
static __attribute__((constructor)) void _logosLocalCtor_7f270ec4(int __unused argc, char __unused **argv, char __unused **envp) { | |||
loadPrefs(); | |||
dlopen ("/Library/MobileSubstrate/DynamicLibraries/Zenith.dylib", RTLD_NOW); | |||
} | |||
static __attribute__((constructor)) void _logosLocalInit() { | |||
{Class _logos_class$_ungrouped$ZNGrabberAccessoryView = objc_getClass("ZNGrabberAccessoryView"); MSHookMessageEx(_logos_class$_ungrouped$ZNGrabberAccessoryView, @selector(traitCollectionDidChange:), (IMP)&_logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$, (IMP*)&_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$);MSHookMessageEx(_logos_class$_ungrouped$ZNGrabberAccessoryView, @selector(setBackgroundColor:), (IMP)&_logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$, (IMP*)&_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$);} } | |||
#line 80 "Tweak.xm" |
@@ -1,7 +1,7 @@ | |||
ARCHS = arm64 arm64e | |||
SDK = iPhoneOS12.4 | |||
SDK = iPhoneOS13.0 | |||
FINALPACKAGE = 1 | |||
export TARGET = iphone:clang:11.2:latest | |||
export TARGET = iphone:clang:13.0:latest | |||
include $(THEOS)/makefiles/common.mk | |||
@@ -12,8 +12,6 @@ Written for Cooper Hull, @(mac-user669). | |||
#import "ZenithDark.h" | |||
static BOOL enabled; | |||
static BOOL replaceOriginalView; | |||
static BOOL notificationBadgesEnabled; | |||
static void loadPrefs() { | |||
static NSMutableDictionary *settings; | |||
@@ -26,15 +24,13 @@ static void loadPrefs() { | |||
} | |||
enabled = [([settings objectForKey:@"enabled"] ? [settings objectForKey:@"enabled"] : @(YES)) boolValue]; | |||
replaceOriginalView = [([settings objectForKey:@"replaceoriginalview"] ? [settings objectForKey:@"replaceoriginalview"] : @(YES)) boolValue]; | |||
notificationBadgesEnabled = [([settings objectForKey:@"notificationBadgesEnabled"] ? [settings objectForKey:@"notificationBadgesEnabled"] : NO) boolValue]; | |||
} | |||
// We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView” | |||
%hook ZNGrabberAccessoryView | |||
// this is called when iOS 13's dark mode is enabled! | |||
// this is called when iOS 13's dark mode is enabled! | |||
-(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { | |||
if (enabled) { | |||
%orig(previousTraitCollection); | |||
if (@available(iOS 13, *)) { | |||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { | |||
@@ -43,13 +39,16 @@ static void loadPrefs() { | |||
else { | |||
[self setBackgroundColor:kLightModeColor]; | |||
} | |||
} | |||
} | |||
%orig; | |||
} | |||
// the method we modify is this method that is called from UIImageView to set the backgroundColor of the image view. | |||
// Since the grabber view is of type UIImageView we can modify this method :) | |||
-(void)setBackgroundColor:(UIColor *)backgroundColor { | |||
if (enabled) { | |||
// by default have our tweak overide this. | |||
if (@available(iOS 13, *)) { | |||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { | |||
@@ -58,13 +57,17 @@ static void loadPrefs() { | |||
else { | |||
%orig; | |||
} | |||
} | |||
} | |||
%orig; | |||
} | |||
// we need to make sure we tell theos that we are finished hooking this class not doing so with cause the end of the world :P | |||
%end | |||
// our constructor | |||
%ctor { | |||
@@ -1,7 +1,7 @@ | |||
include $(THEOS)/makefiles/common.mk | |||
ARCHS = arm64 arm64e | |||
export TARGET = iphone:clang:11.2:latest | |||
export TARGET = iphone:clang:13.0:latest | |||
BUNDLE_NAME = ZenithDarkPrefs | |||
ZenithDarkPrefs_FILES = ZnthDrkRootListController.m |
@@ -22,36 +22,7 @@ | |||
<key>label</key> | |||
<string>Enable</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSGroupCell</string> | |||
<key>label</key> | |||
<string>Customization</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSSwitchCell</string> | |||
<key>default</key> | |||
<true/> | |||
<key>defaults</key> | |||
<string>com.mac-user669.zenithdarkprefs</string> | |||
<key>key</key> | |||
<string>replaceoriginalview</string> | |||
<key>label</key> | |||
<string>Replace Original View</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSSwitchCell</string> | |||
<key>default</key> | |||
<false/> | |||
<key>defaults</key> | |||
<string>com.mac-user669.zenithdarkprefs</string> | |||
<key>key</key> | |||
<string>notificationBadgesEnabled</string> | |||
<key>label</key> | |||
<string>Enable Notification Badges</string> | |||
</dict> | |||
<dict> | |||
<key>cell</key> | |||
<string>PSGroupCell</string> |