a lot of stuff

This commit is contained in:
MPG13 2018-05-29 07:02:53 -06:00
parent bf32b2cb11
commit adae08cc51
64 changed files with 438 additions and 75 deletions

View file

@ -3,8 +3,10 @@ Name: UnderTime
Depends: mobilesubstrate
Architecture: iphoneos-arm
Description: Customizable date under time in iX StatusBar.
Maintainer: MPG13
Author: MPG13
Homepage: https://mpg13.github.io
Depiction: https://mpg13.github.io/repo/depicts/undertime.html
Maintainer: MPG13 <micahplacido@gmail.com>
Author: MPG13 <micahplacido@gmail.com>
Section: Tweaks
Version: 1.1-16+debug
Version: 1.3-18+debug
Installed-Size: 192

View file

@ -32,14 +32,68 @@
<key>label</key>
<string>Enable tweak</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOneEnable</string>
<key>label</key>
<string>Custom First Line</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOneStandard</string>
<key>label</key>
<string>First Line Standard String</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Date Format</string>
<string>First Line</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSEditTextCell</string>
<key>default</key>
<string>h:m</string>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOne</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Second Line</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineTwoStandard</string>
<key>label</key>
<string>Second Line Standard String</string>
</dict>
<dict>
<key>cell</key>
<string>PSEditTextCell</string>
@ -48,7 +102,7 @@
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>dformat</string>
<string>lineTwo</string>
</dict>
<dict>
<key>cell</key>
@ -116,12 +170,6 @@
<key>label</key>
<string>Developed partially by MPG13 | Forked from NeinZedd's "DateUnderTimeX"</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Respringing twice might be necessary.</string>
</dict>
</array>
<key>title</key>
<string>UnderTime</string>

View file

@ -1 +1 @@
./packages/com.mpg13.undertime_1.1-16+debug_iphoneos-arm.deb
./packages/com.mpg13.undertime_1.3-18+debug_iphoneos-arm.deb

View file

@ -32,14 +32,68 @@
<key>label</key>
<string>Enable tweak</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOneEnable</string>
<key>label</key>
<string>Custom First Line</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOneStandard</string>
<key>label</key>
<string>First Line Standard String</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Date Format</string>
<string>First Line</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSEditTextCell</string>
<key>default</key>
<string>h:m</string>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOne</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Second Line</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineTwoStandard</string>
<key>label</key>
<string>Second Line Standard String</string>
</dict>
<dict>
<key>cell</key>
<string>PSEditTextCell</string>
@ -48,7 +102,7 @@
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>dformat</string>
<string>lineTwo</string>
</dict>
<dict>
<key>cell</key>
@ -116,12 +170,6 @@
<key>label</key>
<string>Developed partially by MPG13 | Forked from NeinZedd's "DateUnderTimeX"</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Respringing twice might be necessary.</string>
</dict>
</array>
<key>title</key>
<string>UnderTime</string>

Binary file not shown.

View file

@ -0,0 +1,17 @@
/home/mpg13/UnderTime/.theos/obj/debug/arm64/Tweak.xm.41206041.o: \
/home/mpg13/UnderTime/.theos/obj/debug/arm64/Tweak.xm.mm \
/home/mpg13/theos/Prefix.pch \
/home/mpg13/theos/vendor/include/_Prefix/BackwardsCompat.h \
/home/mpg13/theos/vendor/include/_Prefix/IOSMacros.h \
/home/mpg13/UnderTime/important.h \
/home/mpg13/theos/vendor/include/substrate.h
/home/mpg13/theos/Prefix.pch:
/home/mpg13/theos/vendor/include/_Prefix/BackwardsCompat.h:
/home/mpg13/theos/vendor/include/_Prefix/IOSMacros.h:
/home/mpg13/UnderTime/important.h:
/home/mpg13/theos/vendor/include/substrate.h:

Binary file not shown.

View file

@ -1,5 +1,6 @@
#line 1 "Tweak.xm"
#import "important.h"
#import <spawn.h>
@interface _UIStatusBarStringView : UIView
@property (copy) NSString *text;
@ -31,27 +32,42 @@ int sizeOfFont = GetPrefInt(@"sizeOfFont");
#define _LOGOS_RETURN_RETAINED
#endif
@class _UIStatusBarBackgroundActivityView; @class _UIStatusBarTimeItem; @class _UIStatusBarStringView;
@class _UIStatusBarBackgroundActivityView; @class _UIStatusBarStringView; @class _UIStatusBarTimeItem;
static void (*_logos_orig$_ungrouped$_UIStatusBarStringView$setText$)(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarStringView* _LOGOS_SELF_CONST, SEL, NSString *); static void _logos_method$_ungrouped$_UIStatusBarStringView$setText$(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarStringView* _LOGOS_SELF_CONST, SEL, NSString *); static id (*_logos_orig$_ungrouped$_UIStatusBarTimeItem$applyUpdate$toDisplayItem$)(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarTimeItem* _LOGOS_SELF_CONST, SEL, id, id); static id _logos_method$_ungrouped$_UIStatusBarTimeItem$applyUpdate$toDisplayItem$(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarTimeItem* _LOGOS_SELF_CONST, SEL, id, id); static void (*_logos_orig$_ungrouped$_UIStatusBarBackgroundActivityView$setCenter$)(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarBackgroundActivityView* _LOGOS_SELF_CONST, SEL, CGPoint); static void _logos_method$_ungrouped$_UIStatusBarBackgroundActivityView$setCenter$(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarBackgroundActivityView* _LOGOS_SELF_CONST, SEL, CGPoint);
#line 12 "Tweak.xm"
#line 13 "Tweak.xm"
static void _logos_method$_ungrouped$_UIStatusBarStringView$setText$(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarStringView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, NSString * text) {
if(GetPrefBool(@"Enable")) {
_logos_orig$_ungrouped$_UIStatusBarStringView$setText$(self, _cmd, text);
if(GetPrefBool(@"Enable") && ![text containsString:@"%"]) {
NSString *lineTwo = GetPrefString(@"lineTwo");
NSString *lineOne = GetPrefString(@"lineOne");
NSString *timeLineTwo;
NSString *timeLineOne;
NSString *dformat = GetPrefString(@"dformat");
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:dformat];
NSDate *now = [NSDate date];
NSString *shortDate = [dateFormatter stringFromDate:now];
shortDate = [shortDate substringToIndex:[shortDate length]];
NSString *newString = [NSString stringWithFormat:@"%@\n%@", text, shortDate];
if(!GetPrefBool(@"lineOneStandard")){
[dateFormatter setDateFormat:lineTwo];
timeLineTwo = [dateFormatter stringFromDate:now];
timeLineTwo = [timeLineTwo substringToIndex:[timeLineTwo length]];
}
if(!GetPrefBool(@"lineTwoStandard")){
[dateFormatter setDateFormat:lineOne];
timeLineOne = [dateFormatter stringFromDate:now];
timeLineOne = [timeLineOne substringToIndex:[timeLineOne length]];
}
NSString *newString;
if(GetPrefBool(@"lineOneEnable")){
newString = [NSString stringWithFormat:@"%@\n%@", timeLineOne, timeLineTwo];
}
else{
newString = [NSString stringWithFormat:@"%@\n%@", text, timeLineTwo];
}
[self setFont: [self.font fontWithSize:sizeOfFont]];
if(GetPrefBool(@"replaceTime")){
_logos_orig$_ungrouped$_UIStatusBarStringView$setText$(self, _cmd, shortDate);
_logos_orig$_ungrouped$_UIStatusBarStringView$setText$(self, _cmd, timeLineTwo);
}
else{
self.textAlignment = 1;
@ -72,16 +88,13 @@ static void _logos_method$_ungrouped$_UIStatusBarStringView$setText$(_LOGOS_SELF
@end
static id _logos_method$_ungrouped$_UIStatusBarTimeItem$applyUpdate$toDisplayItem$(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarTimeItem* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, id arg1, id arg2) {
_logos_orig$_ungrouped$_UIStatusBarTimeItem$applyUpdate$toDisplayItem$(self, _cmd, arg1, arg2);
if(GetPrefBool(@"Enable")) {
id returnThis = _logos_orig$_ungrouped$_UIStatusBarTimeItem$applyUpdate$toDisplayItem$(self, _cmd, arg1, arg2);
[self.shortTimeView setFont: [self.shortTimeView.font fontWithSize:sizeOfFont]];
[self.pillTimeView setFont: [self.pillTimeView.font fontWithSize:sizeOfFont]];
return returnThis;
if(GetPrefBool(@"Enable")) {
[self.shortTimeView setFont: [self.shortTimeView.font fontWithSize:sizeOfFont]];
[self.pillTimeView setFont: [self.pillTimeView.font fontWithSize:sizeOfFont]];
}
return 0;
return returnThis;
}
@ -93,20 +106,17 @@ return 0;
static void _logos_method$_ungrouped$_UIStatusBarBackgroundActivityView$setCenter$(_LOGOS_SELF_TYPE_NORMAL _UIStatusBarBackgroundActivityView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, CGPoint point) {
_logos_orig$_ungrouped$_UIStatusBarBackgroundActivityView$setCenter$(self, _cmd, point);
if(GetPrefBool(@"Enable")) {
if(GetPrefBool(@"replaceTime")){
}
else{
if(GetPrefBool(@"Enable") && !GetPrefBool(@"replaceTime")){
point.y = 11;
self.frame = CGRectMake(0, 0, self.frame.size.width, 31);
self.pulseLayer.frame = CGRectMake(0, 0, self.frame.size.width, 31);
_logos_orig$_ungrouped$_UIStatusBarBackgroundActivityView$setCenter$(self, _cmd, point);
}
}
}
static __attribute__((constructor)) void _logosLocalInit() {
{Class _logos_class$_ungrouped$_UIStatusBarStringView = objc_getClass("_UIStatusBarStringView"); MSHookMessageEx(_logos_class$_ungrouped$_UIStatusBarStringView, @selector(setText:), (IMP)&_logos_method$_ungrouped$_UIStatusBarStringView$setText$, (IMP*)&_logos_orig$_ungrouped$_UIStatusBarStringView$setText$);Class _logos_class$_ungrouped$_UIStatusBarTimeItem = objc_getClass("_UIStatusBarTimeItem"); MSHookMessageEx(_logos_class$_ungrouped$_UIStatusBarTimeItem, @selector(applyUpdate:toDisplayItem:), (IMP)&_logos_method$_ungrouped$_UIStatusBarTimeItem$applyUpdate$toDisplayItem$, (IMP*)&_logos_orig$_ungrouped$_UIStatusBarTimeItem$applyUpdate$toDisplayItem$);Class _logos_class$_ungrouped$_UIStatusBarBackgroundActivityView = objc_getClass("_UIStatusBarBackgroundActivityView"); MSHookMessageEx(_logos_class$_ungrouped$_UIStatusBarBackgroundActivityView, @selector(setCenter:), (IMP)&_logos_method$_ungrouped$_UIStatusBarBackgroundActivityView$setCenter$, (IMP*)&_logos_orig$_ungrouped$_UIStatusBarBackgroundActivityView$setCenter$);} }
#line 84 "Tweak.xm"
#line 94 "Tweak.xm"

View file

@ -0,0 +1,19 @@
/home/mpg13/UnderTime/.theos/obj/debug/arm64/udtRootListController.m.b4efe98b.o: \
udtRootListController.m /home/mpg13/theos/Prefix.pch \
/home/mpg13/theos/vendor/include/_Prefix/BackwardsCompat.h \
/home/mpg13/theos/vendor/include/_Prefix/IOSMacros.h \
udtRootListController.h \
/home/mpg13/theos/vendor/include/Preferences/PSListController.h \
/home/mpg13/theos/vendor/include/Preferences/PSViewController.h
/home/mpg13/theos/Prefix.pch:
/home/mpg13/theos/vendor/include/_Prefix/BackwardsCompat.h:
/home/mpg13/theos/vendor/include/_Prefix/IOSMacros.h:
udtRootListController.h:
/home/mpg13/theos/vendor/include/Preferences/PSListController.h:
/home/mpg13/theos/vendor/include/Preferences/PSViewController.h:

View file

@ -0,0 +1 @@
16

View file

@ -1 +1 @@
38
39

View file

@ -0,0 +1 @@
18

View file

@ -1,4 +1,5 @@
#import "important.h"
#import <spawn.h>
@interface _UIStatusBarStringView : UIView
@property (copy) NSString *text;
@ -12,20 +13,35 @@ int sizeOfFont = GetPrefInt(@"sizeOfFont");
%hook _UIStatusBarStringView
- (void)setText:(NSString *)text {
if(GetPrefBool(@"Enable")) {
%orig;
if(GetPrefBool(@"Enable") && ![text containsString:@"%"]) {
NSString *lineTwo = GetPrefString(@"lineTwo");
NSString *lineOne = GetPrefString(@"lineOne");
NSString *timeLineTwo;
NSString *timeLineOne;
NSString *dformat = GetPrefString(@"dformat");
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:dformat];
NSDate *now = [NSDate date];
NSString *shortDate = [dateFormatter stringFromDate:now];
shortDate = [shortDate substringToIndex:[shortDate length]];
NSString *newString = [NSString stringWithFormat:@"%@\n%@", text, shortDate];
if(!GetPrefBool(@"lineOneStandard")){
[dateFormatter setDateFormat:lineTwo];
timeLineTwo = [dateFormatter stringFromDate:now];
timeLineTwo = [timeLineTwo substringToIndex:[timeLineTwo length]];
}
if(!GetPrefBool(@"lineTwoStandard")){
[dateFormatter setDateFormat:lineOne];
timeLineOne = [dateFormatter stringFromDate:now];
timeLineOne = [timeLineOne substringToIndex:[timeLineOne length]];
}
NSString *newString;
if(GetPrefBool(@"lineOneEnable")){
newString = [NSString stringWithFormat:@"%@\n%@", timeLineOne, timeLineTwo];
}
else{
newString = [NSString stringWithFormat:@"%@\n%@", text, timeLineTwo];
}
[self setFont: [self.font fontWithSize:sizeOfFont]];
if(GetPrefBool(@"replaceTime")){
%orig(shortDate);
%orig(timeLineTwo);
}
else{
self.textAlignment = 1;
@ -46,16 +62,13 @@ int sizeOfFont = GetPrefInt(@"sizeOfFont");
@end
%hook _UIStatusBarTimeItem
- (id)applyUpdate:(id)arg1 toDisplayItem:(id)arg2 {
%orig;
if(GetPrefBool(@"Enable")) {
id returnThis = %orig;
[self.shortTimeView setFont: [self.shortTimeView.font fontWithSize:sizeOfFont]];
[self.pillTimeView setFont: [self.pillTimeView.font fontWithSize:sizeOfFont]];
return returnThis;
if(GetPrefBool(@"Enable")) {
[self.shortTimeView setFont: [self.shortTimeView.font fontWithSize:sizeOfFont]];
[self.pillTimeView setFont: [self.pillTimeView.font fontWithSize:sizeOfFont]];
}
return 0;
return returnThis;
}
%end
@ -67,17 +80,14 @@ return 0;
%hook _UIStatusBarBackgroundActivityView
- (void)setCenter:(CGPoint)point {
%orig;
if(GetPrefBool(@"Enable")) {
if(GetPrefBool(@"replaceTime")){
}
else{
if(GetPrefBool(@"Enable") && !GetPrefBool(@"replaceTime")){
point.y = 11;
self.frame = CGRectMake(0, 0, self.frame.size.width, 31);
self.pulseLayer.frame = CGRectMake(0, 0, self.frame.size.width, 31);
%orig(point);
}
}
}
%end

View file

@ -1,9 +1,11 @@
Package: com.mpg13.undertime
Name: UnderTime
Depends: mobilesubstrate
Version: 1.1
Version: 1.3
Architecture: iphoneos-arm
Description: Customizable date under time in iX StatusBar.
Maintainer: MPG13
Author: MPG13
Homepage: https://mpg13.github.io
Depiction: https://mpg13.github.io/repo/depicts/undertime.html
Maintainer: MPG13 <micahplacido@gmail.com>
Author: MPG13 <micahplacido@gmail.com>
Section: Tweaks

View file

@ -4,7 +4,7 @@ TARGET = iphone:clang:latest
include $(THEOS)/makefiles/common.mk
BUNDLE_NAME = UnderTime
UnderTime_FILES = UnderTimeRootListController.m
UnderTime_FILES = udtRootListController.m
UnderTime_INSTALL_PATH = /Library/PreferenceBundles
UnderTime_FRAMEWORKS = UIKit
UnderTime_PRIVATE_FRAMEWORKS = Preferences

View file

@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>UnderTime</string>
<key>CFBundleIdentifier</key>
<string>com.mpg13.UnderTime</string>
<string>com.mpg13.undertime</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
@ -19,6 +19,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSPrincipalClass</key>
<string>UnderTimeRootListController</string>
<string>udtRootListController</string>
</dict>
</plist>

View file

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>cell</key>
<string>PSStaticTextCell</string>
<key>height</key>
<string>45</string>
<key>label</key>
<string>UnderTime</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string> </string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<true/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>Enable</string>
<key>label</key>
<string>Enable tweak</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOneEnable</string>
<key>label</key>
<string>Custom First Line</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOneStandard</string>
<key>label</key>
<string>First Line Standard String</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>First Line</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSEditTextCell</string>
<key>default</key>
<string>h:m</string>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineOne</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Second Line</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineTwoStandard</string>
<key>label</key>
<string>Second Line Standard String</string>
</dict>
<dict>
<key>cell</key>
<string>PSEditTextCell</string>
<key>default</key>
<string>d/M</string>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>lineTwo</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Use nsdateformatter.com to help you format your date!</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Font Size</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSSliderCell</string>
<key>default</key>
<integer>12</integer>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>sizeOfFont</string>
<key>max</key>
<real>18</real>
<key>min</key>
<real>6</real>
<key>showValue</key>
<true/>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Replace the date with the time</string>
<key>height</key>
<string>10</string>
</dict>
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<false/>
<key>defaults</key>
<string>com.mpg13.undertime</string>
<key>key</key>
<string>replaceTime</string>
<key>label</key>
<string>Replace Time</string>
</dict>
<dict>
<key>action</key>
<string>respring</string>
<key>height</key>
<string>30</string>
<key>cell</key>
<string>PSButtonCell</string>
<key>label</key>
<string>Respring</string>
</dict>
<dict>
<key>cell</key>
<string>PSGroupCell</string>
<key>label</key>
<string>Developed partially by MPG13 | Forked from NeinZedd's "DateUnderTimeX"</string>
</dict>
</array>
<key>title</key>
<string>UnderTime</string>
</dict>
</plist>

View file

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 371 B

View file

@ -9,7 +9,7 @@
<key>cell</key>
<string>PSLinkCell</string>
<key>detail</key>
<string>UnderTimeRootListController</string>
<string>udtRootListController</string>
<key>icon</key>
<string>icon.png</string>
<key>isController</key>

View file

@ -0,0 +1,5 @@
#import <Preferences/PSListController.h>
@interface udtRootListController : PSListController
@end

View file

@ -0,0 +1,23 @@
#include "udtRootListController.h"
#import <spawn.h>
@implementation udtRootListController
- (NSArray *)specifiers {
if (!_specifiers) {
_specifiers = [[self loadSpecifiersFromPlistName:@"Root" target:self] retain];
}
return _specifiers;
}
-(void) respring {
pid_t pid;
int status;
posix_spawn(&pid, "/usr/bin/uicache", NULL, NULL, NULL, NULL);
const char* args[] = {"killall", "-9", "backboardd", NULL};
posix_spawn(&pid, "/usr/bin/killall", NULL, NULL, (char* const*)args, NULL);
waitpid(pid, &status, WEXITED);
}
@end