Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae1dc1a701 | ||
|
|
f1eb708e08 | ||
|
|
9298cadbf8 | ||
|
|
efe8670c51 | ||
|
|
fb5781865c | ||
|
|
afb6bd9842 | ||
|
|
8ee749dad1 | ||
|
|
a38e37f6e9 |
@@ -30,3 +30,7 @@
|
|||||||
path = Tweaks/YTSpeed
|
path = Tweaks/YTSpeed
|
||||||
url = https://github.com/qnblackcat/YTSpeed.git
|
url = https://github.com/qnblackcat/YTSpeed.git
|
||||||
branch = main
|
branch = main
|
||||||
|
[submodule "Extensions"]
|
||||||
|
path = Extensions
|
||||||
|
url = https://github.com/CokePokes/YoutubeExtensions.git
|
||||||
|
branch = main
|
||||||
|
|||||||
Submodule
+1
Submodule Extensions added at a68d70883d
@@ -14,8 +14,8 @@
|
|||||||
- (void)autoFullscreen;
|
- (void)autoFullscreen;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
//@interface ASCollectionView : UIView
|
@interface YTTopAlignedView : UIView
|
||||||
//@end
|
@end
|
||||||
|
|
||||||
@interface YTLightweightQTMButton : UIView
|
@interface YTLightweightQTMButton : UIView
|
||||||
@end
|
@end
|
||||||
@@ -25,3 +25,9 @@
|
|||||||
|
|
||||||
@interface NIAttributedLabel : UIView
|
@interface NIAttributedLabel : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface YTShareMainView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface UICollectionViewControllerWrapperView : UIView
|
||||||
|
@end
|
||||||
@@ -11,7 +11,7 @@ DISPLAY_NAME = YouTube
|
|||||||
BUNDLE_ID = com.google.ios.youtube
|
BUNDLE_ID = com.google.ios.youtube
|
||||||
|
|
||||||
uYouPlus_FILES = uYouPlus.xm Settings.xm
|
uYouPlus_FILES = uYouPlus.xm Settings.xm
|
||||||
uYouPlus_IPA = /path/to/your/decrypted/YouTube/IPA
|
uYouPlus_IPA = ./tmp/Payload/YouTube.app
|
||||||
### Important: edit the path to your decrypted YouTube IPA!!!
|
### Important: edit the path to your decrypted YouTube IPA!!!
|
||||||
|
|
||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|||||||
+1
-1
@@ -99,7 +99,7 @@ extern BOOL castConfirm();
|
|||||||
};
|
};
|
||||||
[sectionItems insertObject:hideHUD atIndex:statsForNerdsIndex + 1];
|
[sectionItems insertObject:hideHUD atIndex:statsForNerdsIndex + 1];
|
||||||
//
|
//
|
||||||
YTSettingsSectionItem *Oleditem = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"OLED Dark mode (Experimental)" titleDescription:@"WARNING: OLED Dark mode only works when YouTube is in Dark theme. App restart is required."];
|
YTSettingsSectionItem *Oleditem = [[%c(YTSettingsSectionItem) alloc] initWithTitle:@"OLED Dark mode (Experimental)" titleDescription:@"WARNING: OLED Dark mode only works when YouTube is in Dark theme. App restart is required (In case OLED dark mode doesn't work: just switch between Light/Dark theme, then restart the app)."];
|
||||||
Oleditem.hasSwitch = YES;
|
Oleditem.hasSwitch = YES;
|
||||||
Oleditem.switchVisible = YES;
|
Oleditem.switchVisible = YES;
|
||||||
Oleditem.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"oled_enabled"];
|
Oleditem.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"oled_enabled"];
|
||||||
|
|||||||
+1
-1
Submodule Tweaks/PSHeader updated: 7f13c9adf9...c9355cb136
+1
-1
Submodule Tweaks/YouPiP updated: faaaf09ec1...7a0a820109
+17
-6
@@ -22,16 +22,27 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Makefile
|
# Makefile
|
||||||
read -e -p "==> Path to the decrypted YouTube iPA: " PATHTOIPA
|
read -e -p "==> Path to the decrypted YouTube.ipa or YouTube.app: " PATHTOYT
|
||||||
if [[ $PATHTOIPA == *.ipa ]]
|
if [[ $PATHTOYT == *.ipa ]]
|
||||||
then
|
then
|
||||||
sed -i '' "14s#.*#uYouPlus_IPA = $PATHTOIPA#g" ./Makefile
|
unzip -q "$PATHTOYT" -d ./tmp
|
||||||
|
rm -rf ./tmp/Payload/YouTube.app/PlugIns/*.appex
|
||||||
|
cp -R Extensions/*.appex tmp/Payload/YouTube.app/PlugIns
|
||||||
|
make package
|
||||||
|
open ./packages
|
||||||
|
|
||||||
|
elif [[ $PATHTOYT == *.app ]]
|
||||||
|
then
|
||||||
|
mkdir -p ./tmp/Payload/
|
||||||
|
cp -R "$PATHTOYT" ./tmp/Payload 2>/dev/null
|
||||||
|
rm -rf ./tmp/Payload/YouTube.app/PlugIns/*.appex
|
||||||
|
cp -R Extensions/*.appex tmp/Payload/YouTube.app/PlugIns
|
||||||
make package
|
make package
|
||||||
open ./packages
|
open ./packages
|
||||||
else
|
else
|
||||||
echo "This is not an iPA"
|
echo "This is not an ipa/app!"
|
||||||
fi
|
fi
|
||||||
# Clean up
|
# Clean up
|
||||||
tput setaf 1 && echo -e "==> \033[1mCleaning up...\033[0m"
|
tput setaf 1 && echo -e "==> \033[1mCleaning up...\033[0m"
|
||||||
find Tweaks/uYou -mindepth 1 ! -name "com.miro.uyou_2.1_iphoneos-arm.deb" ! -name ".gitkeep" -exec rm -rf {} \; 2>/dev/null
|
find Tweaks/uYou -mindepth 1 ! -name "com.miro.uyou_2.1_iphoneos-arm.deb" ! -name ".gitkeep" -exec rm -rf {} \; 2>/dev/null
|
||||||
rm -rf Resources .theos/_/Payload
|
rm -rf tmp/ Resources .theos/_/Payload
|
||||||
+56
-4
@@ -184,6 +184,8 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
arg1 = oledColor;
|
arg1 = oledColor;
|
||||||
if ([self.nextResponder isKindOfClass:%c(YCHLiveChatTextCell)])
|
if ([self.nextResponder isKindOfClass:%c(YCHLiveChatTextCell)])
|
||||||
arg1 = oledColor;
|
arg1 = oledColor;
|
||||||
|
if ([self.nextResponder isKindOfClass:%c(YCHLiveChatView)])
|
||||||
|
arg1 = oledColor;
|
||||||
if ([self.nextResponder isKindOfClass:%c(YCHLiveChatViewerEngagementCell)])
|
if ([self.nextResponder isKindOfClass:%c(YCHLiveChatViewerEngagementCell)])
|
||||||
arg1 = oledColor;
|
arg1 = oledColor;
|
||||||
if ([self.nextResponder isKindOfClass:%c(YTSlideForActionsView)])
|
if ([self.nextResponder isKindOfClass:%c(YTSlideForActionsView)])
|
||||||
@@ -201,7 +203,9 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
if ([self.nextResponder isKindOfClass:%c(ASWAppSwitcherCollectionViewCell)])
|
if ([self.nextResponder isKindOfClass:%c(ASWAppSwitcherCollectionViewCell)])
|
||||||
arg1 = oledColor;
|
arg1 = oledColor;
|
||||||
if ([self.nextResponder isKindOfClass:%c(YTEditSheetControllerHeader)])
|
if ([self.nextResponder isKindOfClass:%c(YTEditSheetControllerHeader)])
|
||||||
arg1 = oledColor;
|
arg1 = oledColor;
|
||||||
|
if ([self.nextResponder isKindOfClass:%c(YTDialogContainerScrollView)])
|
||||||
|
arg1 = oledColor;
|
||||||
%orig;
|
%orig;
|
||||||
}
|
}
|
||||||
//- (void)layoutSubviews {
|
//- (void)layoutSubviews {
|
||||||
@@ -211,6 +215,14 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
//}
|
//}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
%hook UIControl // this sucks I know :/
|
||||||
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
|
if ([self.nextResponder isKindOfClass:%c(YTShareMainView)])
|
||||||
|
arg1 = oledColor;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
%hook YTAsyncCollectionView
|
%hook YTAsyncCollectionView
|
||||||
-(void)setBackgroundColor:(id)arg1 {
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
if([self.nextResponder isKindOfClass:%c(YTRelatedVideosCollectionViewController)]) {
|
if([self.nextResponder isKindOfClass:%c(YTRelatedVideosCollectionViewController)]) {
|
||||||
@@ -224,8 +236,19 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%hook YTTopAlignedView // Example from Dune - https://github.com/Skittyblock/Dune/blob/9b1df9790230115b7553cc9dbadf36889018d7f9/Tweak.xm#L700
|
%hook YTDialogContainerScrollView
|
||||||
-(void)layoutSubviews {
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
|
arg1 = oledColor;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook YTTopAlignedView
|
||||||
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
|
arg1 = oledColor;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
-(void)layoutSubviews { // Dune - https://github.com/Skittyblock/Dune/blob/9b1df9790230115b7553cc9dbadf36889018d7f9/Tweak.xm#L70
|
||||||
%orig;
|
%orig;
|
||||||
MSHookIvar<UIView *>(self, "_contentView").backgroundColor = oledColor;
|
MSHookIvar<UIView *>(self, "_contentView").backgroundColor = oledColor;
|
||||||
}
|
}
|
||||||
@@ -438,6 +461,27 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
%hook YTPageView
|
||||||
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
|
arg1 = oledColor;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook YTWatchView
|
||||||
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
|
arg1 = oledColor;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook YTSearchBarView
|
||||||
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
|
arg1 = oledColor;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
%hook YTSearchSuggestionCollectionViewCell
|
%hook YTSearchSuggestionCollectionViewCell
|
||||||
-(void)updateColors {}
|
-(void)updateColors {}
|
||||||
%end
|
%end
|
||||||
@@ -473,6 +517,14 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
|
|
||||||
////
|
////
|
||||||
/*
|
/*
|
||||||
|
%hook UICollectionView
|
||||||
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
|
if ([self.nextResponder isKindOfClass:%c(UICollectionViewControllerWrapperView)])
|
||||||
|
arg1 = oledColor;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
%hook YTShortsGalleryHeaderView // upload videos heaer (gallery)
|
%hook YTShortsGalleryHeaderView // upload videos heaer (gallery)
|
||||||
-(void)setBackgroundColor:(id)arg1 {
|
-(void)setBackgroundColor:(id)arg1 {
|
||||||
arg1 = oledColor;
|
arg1 = oledColor;
|
||||||
@@ -482,7 +534,7 @@ UIColor* oledColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
|||||||
|
|
||||||
%hook _ASDisplayView // edit your videos
|
%hook _ASDisplayView // edit your videos
|
||||||
-(void)layoutSubviews {
|
-(void)layoutSubviews {
|
||||||
if ([self.nextResponder isKindOfClass:%c(ELMView)]) //uYou
|
if ([self.nextResponder isKindOfClass:%c(ELMView)])
|
||||||
self.backgroundColor = oledColor;
|
self.backgroundColor = oledColor;
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|||||||
Reference in New Issue
Block a user