Compare commits

...

10 Commits

Author SHA1 Message Date
042c85fe63 ughhh 2020-01-05 17:54:03 +01:00
a988ace5de Revert "center label on iOS 13"
This reverts commit 31e49bedc7.
2020-01-05 17:49:09 +01:00
31e49bedc7 center label on iOS 13 2020-01-05 17:39:45 +01:00
91ea103e63 center label on iOS 13 2020-01-05 17:39:08 +01:00
98a3a38cfc fix apply button freezing device 2020-01-05 16:57:32 +01:00
419938c34d remove need for respring 2020-01-05 16:49:52 +01:00
804936739b update control file 2020-01-05 15:54:14 +01:00
7ddac35e83 twitter 2020-01-05 14:54:44 +01:00
e01de210cb icon 2020-01-05 14:49:33 +01:00
bf6e2c6e01 Update 'README.md' 2020-01-03 12:39:25 +00:00
11 changed files with 85 additions and 53 deletions

View File

@ -1,4 +1,4 @@
ARCHS = arm64 ARCHS = arm64 arm64e
TARGET = iphone:clang:11.2:11.2 TARGET = iphone:clang:11.2:11.2
include $(THEOS)/makefiles/common.mk include $(THEOS)/makefiles/common.mk

View File

@ -3,3 +3,7 @@
CustomNoOlderNotifications or CNON for short is the first tweak I ever made CustomNoOlderNotifications or CNON for short is the first tweak I ever made
It has been tested on iOS 11 and 12 and works (don't know about iOS 13) It has been tested on iOS 11 and 12 and works (don't know about iOS 13)
## Installation
1. Add https://yaypixxo.com/ to your sources in your package manager
2. Search for and install CustomNoOlderNotifications

View File

@ -1,52 +1,78 @@
@interface SBUILegibilityLabel : UIView @interface SBUILegibilityLabel : UIView
@property (nonatomic,copy) NSString *string; @property (nonatomic,copy) NSString *string;
@property (assign,nonatomic) long long textAlignment;
@end @end
@interface NCNotificationListSectionRevealHintView : UIView @interface NCNotificationListSectionRevealHintView : UIView
-(void)_updateHintTitle; @property (nonatomic,retain)SBUILegibilityLabel *revealHintTitle;
@end @end
// prefs
@interface NSUserDefaults (CnonPrefs)
-(id)objectForKey:(NSString *)key inDomain:(NSString *)domain;
-(void)setObject:(id)value forKey:(NSString *)key inDomain:(NSString *)domain;
@end
static NSString *nsDomainString = @"com.yaypixxo.cnon";
static NSString *nsNotificationString = @"com.yaypixxo.cnon/preferences.changed";
// declare switch and string
static BOOL enabled; static BOOL enabled;
static NSString* customText = @""; static NSString *customText = @"";
#define kIdentifier @"com.yaypixxo.cnonprefs" static void notificationCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) {
#define kSettingsChangedNotification (CFStringRef)@"com.yaypixxo.cnonprefs/ReloadPrefs" NSNumber *eEnabled = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"enabled" inDomain:nsDomainString];
#define kSettingsPath @"/var/mobile/Library/Preferences/com.yaypixxo.cnonprefs.plist" NSString *eCustomText = (NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:@"customText" inDomain:nsDomainString];
enabled = (eEnabled) ? [eEnabled boolValue]:NO;
customText = eCustomText; //(eCustomText) ? [eCustomText value]:@"";
}
/*#ifndef kCFCoreFoundationVersionNumber_iOS_13_0
#define kCFCoreFoundationVersionNumber_iOS_13_0 1665.15
#endif
#define kSLSystemVersioniOS13 kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0*/
/*%group ios13
%hook NCNotificationListSectionRevealHintView %hook NCNotificationListSectionRevealHintView
-(void)layoutSubviews { -(void)setRevealHintTitle:(SBUILegibilityLabel *)arg1 {
%orig;
if (enabled) { if (enabled) {
[MSHookIvar<UILabel *>(self, "_revealHintTitle") setString:customText]; arg1 = customText;
} }
} }
%end %end
static void reloadPrefs() { %end*/
CFPreferencesAppSynchronize((CFStringRef)kIdentifier);
NSDictionary *prefs = nil; //%group ios12
if ([NSHomeDirectory() isEqualToString:@"/var/mobile"]) {
CFArrayRef keyList = CFPreferencesCopyKeyList((CFStringRef)kIdentifier, kCFPreferencesCurrentUser, kCFPreferencesAnyHost); %hook NCNotificationListSectionRevealHintView
if (keyList != nil) {
prefs = (NSDictionary *)CFBridgingRelease(CFPreferencesCopyMultiple(keyList, (CFStringRef)kIdentifier, kCFPreferencesCurrentUser, kCFPreferencesAnyHost)); -(void)didMoveToWindow {
if (prefs == nil) %orig;
prefs = [NSDictionary dictionary]; if (enabled) {
CFRelease(keyList); self.revealHintTitle.string = customText;
} self.revealHintTitle.textAlignment = 1;
}
else {
prefs = [NSDictionary dictionaryWithContentsOfFile:kSettingsPath];
} }
}
enabled = [prefs objectForKey:@"enabled"] ? [(NSNumber *)[prefs objectForKey:@"enabled"] boolValue] : true; %end
customText = [prefs objectForKey:@"customText"] ? [prefs objectForKey:@"customText"] : changeNotiTxt;
} //%end
%ctor { %ctor {
reloadPrefs(); // check iOS version
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)reloadPrefs, kSettingsChangedNotification, NULL, CFNotificationSuspensionBehaviorDeliverImmediately); /*if (kSLSystemVersioniOS13) {
%init(ios13);
}
else {
%init(ios12);
}*/
notificationCallback(NULL, NULL, NULL, NULL, NULL);
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, notificationCallback, (CFStringRef)nsNotificationString, NULL, CFNotificationSuspensionBehaviorCoalesce);
} }

View File

@ -1,5 +1,5 @@
#include "CNONRootListController.h" #include "CNONRootListController.h"
#import <spawn.h> //#import <spawn.h>
@implementation CNONRootListController @implementation CNONRootListController
@ -11,12 +11,8 @@
return _specifiers; return _specifiers;
} }
- (void)respring:(id)sender { - (void)apply {
[self.view endEditing:YES]; [self.view endEditing:YES];
[NSThread sleepForTimeInterval:0.5f];
pid_t pid;
const char* args[] = {"killall", "backboardd", NULL};
posix_spawn(&pid, "/usr/bin/killall", NULL, NULL, (char* const*)args, NULL);
} }
- (void)openTwitter { - (void)openTwitter {
@ -24,18 +20,22 @@
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tweetbot:"]]) { if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tweetbot:"]]) {
url = [NSURL URLWithString:@"tweetbot:///user_profile/Ra1nPix"]; url = [NSURL URLWithString:@"tweetbot:///user_profile/Ra1nPix"];
} else if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitterrific:"]]) { }
else if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitterrific:"]]) {
url = [NSURL URLWithString:@"twitterrific:///profile?screen_name=Ra1nPix"]; url = [NSURL URLWithString:@"twitterrific:///profile?screen_name=Ra1nPix"];
} else if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tweetings:"]]) { }
else if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tweetings:"]]) {
url = [NSURL URLWithString:@"tweetings:///user?screen_name=Ra1nPix"]; url = [NSURL URLWithString:@"tweetings:///user?screen_name=Ra1nPix"];
} else if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitter:"]]) { }
else if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitter:"]]) {
url = [NSURL URLWithString:@"twitter://user?screen_name=Ra1nPix"]; url = [NSURL URLWithString:@"twitter://user?screen_name=Ra1nPix"];
} else { }
else {
url = [NSURL URLWithString:@"https://mobile.twitter.com/Ra1nPix"]; url = [NSURL URLWithString:@"https://mobile.twitter.com/Ra1nPix"];
} }
// [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]; // [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
[[UIApplication sharedApplication] openURL:url]; [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
} }
@end @end

View File

@ -1,5 +1,5 @@
ARCHS = arm64 ARCHS = arm64 arm64e
TARGET = iphone:11.2:11.2 TARGET = iphone:clang:11.2:11.2
include $(THEOS)/makefiles/common.mk include $(THEOS)/makefiles/common.mk

BIN
cnonprefs/Resources/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -10,25 +10,25 @@
<key>default</key> <key>default</key>
<true/> <true/>
<key>defaults</key> <key>defaults</key>
<string>com.yaypixxo.cnonprefs</string> <string>com.yaypixxo.cnon</string>
<key>key</key> <key>key</key>
<string>enabled</string> <string>enabled</string>
<key>label</key> <key>label</key>
<string>Enable</string> <string>Enable</string>
<key>PostNotification</key> <key>PostNotification</key>
<string>com.yaypixxo.cnonprefs/ReloadPrefs</string> <string>com.yaypixxo.cnon/preferences.changed</string>
</dict> </dict>
<dict> <dict>
<key>cell</key> <key>cell</key>
<string>PSGroupCell</string> <string>PSGroupCell</string>
<key>footerText</key> <key>footerText</key>
<string>Type your custom message or leave blank to hide the text.</string> <string>Type your custom text or leave blank to hide the text</string>
</dict> </dict>
<dict> <dict>
<key>cell</key> <key>cell</key>
<string>PSEditTextCell</string> <string>PSEditTextCell</string>
<key>defaults</key> <key>defaults</key>
<string>com.yaypixxo.cnonprefs</string> <string>com.yaypixxo.cnon</string>
<key>default</key> <key>default</key>
<string></string> <string></string>
<key>key</key> <key>key</key>
@ -36,21 +36,21 @@
<key>placeholder</key> <key>placeholder</key>
<string>custom text here</string> <string>custom text here</string>
<key>PostNotification</key> <key>PostNotification</key>
<string>com.yaypixxo.cnonprefs/ReloadPrefs</string> <string>com.yaypixxo.cnon/preferences.changed</string>
</dict> </dict>
<dict> <dict>
<key>cell</key> <key>cell</key>
<string>PSButtonCell</string> <string>PSButtonCell</string>
<key>action</key> <key>action</key>
<string>respring</string> <string>apply</string>
<key>label</key> <key>label</key>
<string>Respring</string> <string>Apply</string>
</dict> </dict>
<dict> <dict>
<key>cell</key> <key>cell</key>
<string>PSGroupCell</string> <string>PSGroupCell</string>
<key>label</key> <key>label</key>
<string>Follow me</string> <string>Follow me on Twitter</string>
</dict> </dict>
<dict> <dict>
<key>action</key> <key>action</key>
@ -64,6 +64,6 @@
</dict> </dict>
</array> </array>
<key>title</key> <key>title</key>
<string>CNON</string> <string>CustomNoOlderNotifications</string>
</dict> </dict>
</plist> </plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,10 +1,12 @@
Package: com.yaypixxo.cnon Package: com.yaypixxo.cnon
Name: CustomNoOlderNotifications Name: CustomNoOlderNotifications
Depends: mobilesubstrate, preferenceloader Depends: mobilesubstrate, preferenceloader
Version: 2.0.0 Version: 2.2.0
Architecture: iphoneos-arm Architecture: iphoneos-arm
Description: Change the "No Older Notifications" text to a custom one! Description: Change the "No Older Notifications" text to a custom one!
Depiction: http://yaypixxo.com/depiction?p=com.yaypixxo.cnon Icon: https://yaypixxo.com/assets/com.yaypixxo.cnon.png
Depiction: https://yaypixxo.com/depictions?p=com.yaypixxo.cnon
SileoDepiction: https://yaypixxo.com/sileo/com.yaypixxo.com
Maintainer: YaYPIXXO <viggo@lekdorf.com> Maintainer: YaYPIXXO <viggo@lekdorf.com>
Author: YaYPIXXO <viggo@lekdorf.com> Author: YaYPIXXO <viggo@lekdorf.com>
Section: Tweaks Section: Tweaks