Early Pref support, still a little wonky
This commit is contained in:
@ -9,4 +9,4 @@ Name: ZenithDark
|
|||||||
Sileodepiction: https://raw.githubusercontent.com/mac-user669/repo/master/sileodepictions/ZenithDark.json
|
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/
|
Depiction: https://mac-user669.github.io/repo/depictions/?p=com.mac-user669.zenithdark/
|
||||||
Version: 1.0
|
Version: 1.0
|
||||||
Installed-Size: 312
|
Installed-Size: 344
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -22,36 +22,7 @@
|
|||||||
<key>label</key>
|
<key>label</key>
|
||||||
<string>Enable</string>
|
<string>Enable</string>
|
||||||
</dict>
|
</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>
|
<dict>
|
||||||
<key>cell</key>
|
<key>cell</key>
|
||||||
<string>PSGroupCell</string>
|
<string>PSGroupCell</string>
|
||||||
|
20
.theos/obj/arm64/Tweak.xm.27a6b95b.Td
Normal file
20
.theos/obj/arm64/Tweak.xm.27a6b95b.Td
Normal file
@ -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:
|
20
.theos/obj/arm64/Tweak.xm.c4e2add9.Td
Normal file
20
.theos/obj/arm64/Tweak.xm.c4e2add9.Td
Normal file
@ -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:
|
BIN
.theos/obj/arm64/Tweak.xm.c4e2add9.o
Normal file
BIN
.theos/obj/arm64/Tweak.xm.c4e2add9.o
Normal file
Binary file not shown.
@ -13,8 +13,6 @@
|
|||||||
#import "ZenithDark.h"
|
#import "ZenithDark.h"
|
||||||
|
|
||||||
static BOOL enabled;
|
static BOOL enabled;
|
||||||
static BOOL replaceOriginalView;
|
|
||||||
static BOOL notificationBadgesEnabled;
|
|
||||||
static void loadPrefs() {
|
static void loadPrefs() {
|
||||||
static NSMutableDictionary *settings;
|
static NSMutableDictionary *settings;
|
||||||
|
|
||||||
@ -27,13 +25,10 @@ static void loadPrefs() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enabled = [([settings objectForKey:@"enabled"] ? [settings objectForKey:@"enabled"] : @(YES)) boolValue];
|
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>
|
#include <substrate.h>
|
||||||
#if defined(__clang__)
|
#if defined(__clang__)
|
||||||
#if __has_feature(objc_arc)
|
#if __has_feature(objc_arc)
|
||||||
@ -57,10 +52,11 @@ static void loadPrefs() {
|
|||||||
@class ZNGrabberAccessoryView;
|
@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 *);
|
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) {
|
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);
|
_logos_orig$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidChange$(self, _cmd, previousTraitCollection);
|
||||||
if (@available(iOS 13, *)) {
|
if (@available(iOS 13, *)) {
|
||||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||||
@ -69,13 +65,16 @@ static void _logos_method$_ungrouped$ZNGrabberAccessoryView$traitCollectionDidCh
|
|||||||
|
|
||||||
else {
|
else {
|
||||||
[self setBackgroundColor:kLightModeColor];
|
[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) {
|
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 (@available(iOS 13, *)) {
|
||||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||||
@ -84,15 +83,19 @@ static void _logos_method$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(
|
|||||||
|
|
||||||
else {
|
else {
|
||||||
_logos_orig$_ungrouped$ZNGrabberAccessoryView$setBackgroundColor$(self, _cmd, backgroundColor);
|
_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();
|
loadPrefs();
|
||||||
|
|
||||||
@ -102,4 +105,4 @@ dlopen ("/Library/MobileSubstrate/DynamicLibraries/Zenith.dylib", RTLD_NOW);
|
|||||||
}
|
}
|
||||||
static __attribute__((constructor)) void _logosLocalInit() {
|
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$);} }
|
{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"
|
||||||
|
Binary file not shown.
Binary file not shown.
20
.theos/obj/arm64e/Tweak.xm.6fecb14d.Td
Normal file
20
.theos/obj/arm64e/Tweak.xm.6fecb14d.Td
Normal file
@ -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:
|
BIN
.theos/obj/arm64e/Tweak.xm.6fecb14d.o
Normal file
BIN
.theos/obj/arm64e/Tweak.xm.6fecb14d.o
Normal file
Binary file not shown.
108
.theos/obj/arm64e/Tweak.xm.mm
Normal file
108
.theos/obj/arm64e/Tweak.xm.mm
Normal file
@ -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"
|
Binary file not shown.
Binary file not shown.
4
Makefile
4
Makefile
@ -1,7 +1,7 @@
|
|||||||
ARCHS = arm64 arm64e
|
ARCHS = arm64 arm64e
|
||||||
SDK = iPhoneOS12.4
|
SDK = iPhoneOS13.0
|
||||||
FINALPACKAGE = 1
|
FINALPACKAGE = 1
|
||||||
export TARGET = iphone:clang:11.2:latest
|
export TARGET = iphone:clang:13.0:latest
|
||||||
|
|
||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|
||||||
|
15
Tweak.xm
15
Tweak.xm
@ -12,8 +12,6 @@ Written for Cooper Hull, @(mac-user669).
|
|||||||
#import "ZenithDark.h"
|
#import "ZenithDark.h"
|
||||||
|
|
||||||
static BOOL enabled;
|
static BOOL enabled;
|
||||||
static BOOL replaceOriginalView;
|
|
||||||
static BOOL notificationBadgesEnabled;
|
|
||||||
static void loadPrefs() {
|
static void loadPrefs() {
|
||||||
static NSMutableDictionary *settings;
|
static NSMutableDictionary *settings;
|
||||||
|
|
||||||
@ -26,15 +24,13 @@ static void loadPrefs() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enabled = [([settings objectForKey:@"enabled"] ? [settings objectForKey:@"enabled"] : @(YES)) boolValue];
|
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”
|
// We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView”
|
||||||
%hook 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 {
|
-(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
||||||
|
if (enabled) {
|
||||||
%orig(previousTraitCollection);
|
%orig(previousTraitCollection);
|
||||||
if (@available(iOS 13, *)) {
|
if (@available(iOS 13, *)) {
|
||||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||||
@ -43,13 +39,16 @@ static void loadPrefs() {
|
|||||||
|
|
||||||
else {
|
else {
|
||||||
[self setBackgroundColor:kLightModeColor];
|
[self setBackgroundColor:kLightModeColor];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
%orig;
|
||||||
}
|
}
|
||||||
|
|
||||||
// the method we modify is this method that is called from UIImageView to set the backgroundColor of the image view.
|
// 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 :)
|
// Since the grabber view is of type UIImageView we can modify this method :)
|
||||||
-(void)setBackgroundColor:(UIColor *)backgroundColor {
|
-(void)setBackgroundColor:(UIColor *)backgroundColor {
|
||||||
|
if (enabled) {
|
||||||
// by default have our tweak overide this.
|
// by default have our tweak overide this.
|
||||||
if (@available(iOS 13, *)) {
|
if (@available(iOS 13, *)) {
|
||||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||||
@ -58,13 +57,17 @@ static void loadPrefs() {
|
|||||||
|
|
||||||
else {
|
else {
|
||||||
%orig;
|
%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
|
// 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
|
%end
|
||||||
|
|
||||||
|
|
||||||
// our constructor
|
// our constructor
|
||||||
%ctor {
|
%ctor {
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|
||||||
ARCHS = arm64 arm64e
|
ARCHS = arm64 arm64e
|
||||||
export TARGET = iphone:clang:11.2:latest
|
export TARGET = iphone:clang:13.0:latest
|
||||||
BUNDLE_NAME = ZenithDarkPrefs
|
BUNDLE_NAME = ZenithDarkPrefs
|
||||||
|
|
||||||
ZenithDarkPrefs_FILES = ZnthDrkRootListController.m
|
ZenithDarkPrefs_FILES = ZnthDrkRootListController.m
|
||||||
|
@ -22,36 +22,7 @@
|
|||||||
<key>label</key>
|
<key>label</key>
|
||||||
<string>Enable</string>
|
<string>Enable</string>
|
||||||
</dict>
|
</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>
|
<dict>
|
||||||
<key>cell</key>
|
<key>cell</key>
|
||||||
<string>PSGroupCell</string>
|
<string>PSGroupCell</string>
|
||||||
|
Reference in New Issue
Block a user