Compare commits

...
Author SHA1 Message Date
qnblackcat ae1dc1a701 bump version 2022-05-01 03:05:57 +07:00
qnblackcat f1eb708e08 update submodules 2022-04-28 21:52:37 +07:00
qnblackcat 9298cadbf8 clean up 2022-04-28 21:51:30 +07:00
qnblackcat efe8670c51 update description 2022-04-28 21:50:52 +07:00
qnblackcat fb5781865c clean up 2022-04-28 21:47:55 +07:00
qnblackcat afb6bd9842 update buildapp script 2022-04-27 12:45:26 +07:00
qnblackcat 8ee749dad1 add Open in YouTube Extensions 2022-04-27 12:44:27 +07:00
qnblackcat a38e37f6e9 darker? 2022-04-27 12:27:39 +07:00
9 changed files with 90 additions and 16 deletions
+4
View File
@@ -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
+8 -2
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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"];
+17 -6
View File
@@ -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
+55 -3
View File
@@ -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)])
@@ -202,6 +204,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(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