initial dark/light mode support, still requires a respring

This commit is contained in:
2020-01-11 08:53:32 -05:00
parent 50db4f7edc
commit 668bae64c1
21 changed files with 109 additions and 12 deletions

10
.theos/_/DEBIAN/control Normal file
View File

@ -0,0 +1,10 @@
Package: com.mac-user669.zenithdark
Name: ZenithDark
Depends: mobilesubstrate
Architecture: iphoneos-arm
Description: An awesome MobileSubstrate tweak!
Maintainer: mac-user669
Author: mac-user669
Section: Tweaks
Version: 0.0.1-1+debug
Installed-Size: 168

View File

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

0
.theos/build_session Normal file
View File

0
.theos/fakeroot Normal file
View File

1
.theos/last_package Normal file
View File

@ -0,0 +1 @@
./packages/com.mac-user669.zenithdark_0.0.1-1+debug_iphoneos-arm.deb

0
.theos/obj/debug/.stamp Normal file
View File

BIN
.theos/obj/debug/ZenithDark.dylib Executable file

Binary file not shown.

View File

@ -0,0 +1,17 @@
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/debug/arm64/Tweak.x.a3df4fbe.o: \
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/debug/arm64/Tweak.x.m \
/Users/cooperhull/theos/Prefix.pch \
/Users/cooperhull/theos/vendor/include/_Prefix/BackwardsCompat.h \
/Users/cooperhull/theos/vendor/include/_Prefix/IOSMacros.h \
/Users/cooperhull/theos/vendor/include/HBLog.h \
/Users/cooperhull/theos/vendor/include/substrate.h
/Users/cooperhull/theos/Prefix.pch:
/Users/cooperhull/theos/vendor/include/_Prefix/BackwardsCompat.h:
/Users/cooperhull/theos/vendor/include/_Prefix/IOSMacros.h:
/Users/cooperhull/theos/vendor/include/HBLog.h:
/Users/cooperhull/theos/vendor/include/substrate.h:

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.ZenithDark.dylib</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@ -0,0 +1,17 @@
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/debug/arm64e/Tweak.x.27fea1d1.o: \
/Users/cooperhull/Desktop/Tweaks/ZenithDark/.theos/obj/debug/arm64e/Tweak.x.m \
/Users/cooperhull/theos/Prefix.pch \
/Users/cooperhull/theos/vendor/include/_Prefix/BackwardsCompat.h \
/Users/cooperhull/theos/vendor/include/_Prefix/IOSMacros.h \
/Users/cooperhull/theos/vendor/include/HBLog.h \
/Users/cooperhull/theos/vendor/include/substrate.h
/Users/cooperhull/theos/Prefix.pch:
/Users/cooperhull/theos/vendor/include/_Prefix/BackwardsCompat.h:
/Users/cooperhull/theos/vendor/include/_Prefix/IOSMacros.h:
/Users/cooperhull/theos/vendor/include/HBLog.h:
/Users/cooperhull/theos/vendor/include/substrate.h:

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.ZenithDark.dylib</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@ -0,0 +1 @@
1

34
Tweak.x
View File

@ -1,14 +1,17 @@
// Basically all of this was written by J.K. Hayslip, aka iKilledAppl3. He's a huge help, go follow him on twitter.
// Idea by Cooper Hull, aka mac-user669. Thanks to iKA for the help!
//\\
// We make an interface to let Theos know that ZNGrabberAccessoryView is of type UIImageView;
@interface ZNGrabberAccessoryView : UIImageView
@end
BOOL kDarkModeEnabled;
/*
Colorize Zenith's Grabber view with ease!
Copyright 2020 J.K. Hayslip (@iKilledAppl3) & ToxicAppl3 INSDC/iKilledAppl3 LLC.
All code was written for learning purposes and credit must be given to the original author.
*/
// We then import UIKit so we can override the color property without this Theos doesn't have a clue what those properties are.
@import UIKit;
@ -16,19 +19,26 @@
//We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView”
%hook ZNGrabberAccessoryView
// The method we then modify is this method that is called from UIImageView to set the backgroundColor of the image view.
// the method we then 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 {
//Call the original function then pass our custom argument to the backgroundColor argument as shown below.
%orig([UIColor colorWithWhite:0.0 alpha:0.44]);
//call the original function then pass our custom argument to the backgroundColor argument as shown below.
kDarkModeEnabled = ([UITraitCollection currentTraitCollection].userInterfaceStyle == UIUserInterfaceStyleDark);
if (kDarkModeEnabled) {
%orig([UIColor colorWithWhite:0.0 alpha:0.44]);
}
else {
%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
// Our constructor
// our constructor
%ctor {
// We use this to make sure we load Zenith's dynamic library at runtime so we can modify it with our tweak.