mirror da
https://github.com/Burrit0z/kai
synced 2025-07-01 18:06:48 +00:00
fix shit code, make cursed code
This commit is contained in:
38
kaiprefs/KAIRootListController.h
Normal file
38
kaiprefs/KAIRootListController.h
Normal file
@ -0,0 +1,38 @@
|
||||
#import <CepheiPrefs/HBRootListController.h>
|
||||
#import <Foundation/NSUserDefaults.h>
|
||||
#import <Preferences/PSListController.h>
|
||||
#import <Preferences/PSListItemsController.h>
|
||||
#import <Preferences/PSSpecifier.h>
|
||||
#import <Preferences/PSTableCell.h>
|
||||
|
||||
@interface PSListController (kai)
|
||||
- (void)setFrame:(CGRect)frame;
|
||||
@end
|
||||
|
||||
@interface NSTask : NSObject
|
||||
@property (copy) NSArray *arguments;
|
||||
@property (copy) NSString *launchPath;
|
||||
- (id)init;
|
||||
- (void)waitUntilExit;
|
||||
- (void)launch;
|
||||
@end
|
||||
|
||||
@interface KAIRootListController : HBRootListController
|
||||
@property (nonatomic, strong) UILabel *titleLabel;
|
||||
@property (nonatomic, strong) UIImageView *iconView;
|
||||
@end
|
||||
|
||||
@interface Thomz_TwitterCell : PSTableCell
|
||||
@end
|
||||
|
||||
@protocol PreferencesTableCustomView
|
||||
- (id)initWithSpecifier:(id)arg1;
|
||||
@end
|
||||
|
||||
@interface KaiHeaderCell : PSTableCell <PreferencesTableCustomView> {
|
||||
UIView *bgView;
|
||||
UILabel *packageNameLabel;
|
||||
UILabel *developerLabel;
|
||||
UILabel *versionLabel;
|
||||
}
|
||||
@end
|
280
kaiprefs/KAIRootListController.m
Normal file
280
kaiprefs/KAIRootListController.m
Normal file
@ -0,0 +1,280 @@
|
||||
#include "KAIRootListController.h"
|
||||
|
||||
KAIRootListController *controller;
|
||||
NSBundle *tweakBundle;
|
||||
|
||||
//thank god for renai
|
||||
static inline NSString *getPackageVersion() {
|
||||
NSString *packageVersion = [NSString stringWithFormat:@"${%@}", @"Version"];
|
||||
int status;
|
||||
|
||||
NSMutableArray<NSString *> *argsv0 = [NSMutableArray array];
|
||||
for (NSString *string in @[ @"/usr/bin/dpkg-query", @"-Wf", packageVersion, @"com.burritoz.kai" ]) {
|
||||
[argsv0
|
||||
addObject:[NSString stringWithFormat:@"'%@'",
|
||||
[string stringByReplacingOccurrencesOfString:@"'"
|
||||
withString:@"\\'"
|
||||
options:NSRegularExpressionSearch
|
||||
range:NSMakeRange(
|
||||
0, string.length)]]];
|
||||
}
|
||||
|
||||
NSString *argsv1 = [argsv0 componentsJoinedByString:@" "];
|
||||
FILE *file = popen(argsv1.UTF8String, "r");
|
||||
if (!file) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
char data[1024];
|
||||
NSMutableString *output = [NSMutableString string];
|
||||
|
||||
while (fgets(data, 1024, file) != NULL) {
|
||||
[output appendString:[NSString stringWithUTF8String:data]];
|
||||
}
|
||||
|
||||
int result = pclose(file);
|
||||
status = result;
|
||||
|
||||
if (status == 0) {
|
||||
return output ?: @"🏴☠️ Pirated";
|
||||
}
|
||||
|
||||
return @"🏴☠️ Pirated";
|
||||
}
|
||||
|
||||
////////
|
||||
|
||||
static void respringNeeded() {
|
||||
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Respring"
|
||||
message:@"Changing this requires a respring for it to take effect. Would you like to respring now?"
|
||||
preferredStyle:UIAlertControllerStyleActionSheet];
|
||||
|
||||
UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"No"
|
||||
style:UIAlertActionStyleCancel
|
||||
handler:^(UIAlertAction *action){
|
||||
}];
|
||||
|
||||
UIAlertAction *yes = [UIAlertAction actionWithTitle:@"Respring"
|
||||
style:UIAlertActionStyleDestructive
|
||||
handler:^(UIAlertAction *action) {
|
||||
NSTask *t = [[NSTask alloc] init];
|
||||
[t setLaunchPath:@"usr/bin/killall"];
|
||||
[t setArguments:[NSArray arrayWithObjects:@"backboardd", nil]];
|
||||
[t launch];
|
||||
}];
|
||||
|
||||
[alert addAction:defaultAction];
|
||||
[alert addAction:yes];
|
||||
[controller presentViewController:alert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
static void applyPrefs() {
|
||||
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR("com.burritoz.kaiprefs/reload"), nil, nil, true);
|
||||
}
|
||||
|
||||
@implementation KAIRootListController
|
||||
|
||||
- (NSArray *)specifiers {
|
||||
if (!_specifiers) {
|
||||
_specifiers = [self loadSpecifiersFromPlistName:@"Root" target:self];
|
||||
}
|
||||
|
||||
return _specifiers;
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)arg1 {
|
||||
[[UISegmentedControl appearanceWhenContainedInInstancesOfClasses:@[ self.class ]] setTintColor:[UIColor colorWithRed:0.00 green:0.82 blue:1.00 alpha:1.00]];
|
||||
[[UISwitch appearanceWhenContainedInInstancesOfClasses:@[ self.class ]] setOnTintColor:[UIColor colorWithRed:0.00 green:0.82 blue:1.00 alpha:1.00]];
|
||||
[[UISlider appearanceWhenContainedInInstancesOfClasses:@[ self.class ]] setTintColor:[UIColor colorWithRed:0.00 green:0.82 blue:1.00 alpha:1.00]];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)arg1 {
|
||||
[super viewWillDisappear:arg1];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
self.navigationItem.titleView = [UIView new];
|
||||
self.titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
|
||||
self.titleLabel.font = [UIFont systemFontOfSize:17.5];
|
||||
self.titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
self.titleLabel.text = @"kai";
|
||||
self.titleLabel.alpha = 0.0;
|
||||
self.titleLabel.textAlignment = NSTextAlignmentCenter;
|
||||
[self.navigationItem.titleView addSubview:self.titleLabel];
|
||||
|
||||
self.iconView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
|
||||
self.iconView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
self.iconView.image = [UIImage imageWithContentsOfFile:@"/Library/PreferenceBundles/kaiPrefs.bundle/icon.png"];
|
||||
self.iconView.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
self.iconView.alpha = 1.0;
|
||||
[self.navigationItem.titleView addSubview:self.iconView];
|
||||
|
||||
[NSLayoutConstraint activateConstraints:@[
|
||||
[self.titleLabel.topAnchor constraintEqualToAnchor:self.navigationItem.titleView.topAnchor],
|
||||
[self.titleLabel.leadingAnchor constraintEqualToAnchor:self.navigationItem.titleView.leadingAnchor],
|
||||
[self.titleLabel.trailingAnchor constraintEqualToAnchor:self.navigationItem.titleView.trailingAnchor],
|
||||
[self.titleLabel.bottomAnchor constraintEqualToAnchor:self.navigationItem.titleView.bottomAnchor],
|
||||
[self.iconView.topAnchor constraintEqualToAnchor:self.navigationItem.titleView.topAnchor],
|
||||
[self.iconView.leadingAnchor constraintEqualToAnchor:self.navigationItem.titleView.leadingAnchor],
|
||||
[self.iconView.trailingAnchor constraintEqualToAnchor:self.navigationItem.titleView.trailingAnchor],
|
||||
[self.iconView.bottomAnchor constraintEqualToAnchor:self.navigationItem.titleView.bottomAnchor],
|
||||
]];
|
||||
|
||||
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Pirated :("
|
||||
message:@"Please install kai from Chariz repository."
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/var/lib/dpkg/info/com.burritoz.kai.list"] && [[NSFileManager defaultManager] fileExistsAtPath:@"/var/lib/dpkg/info/com.burritoz.kai.md5sums"]) {
|
||||
// nothing
|
||||
} else {
|
||||
[self presentViewController:alert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)respringNeeded, CFSTR("com.burritoz.kaiprefs.respringneeded"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
|
||||
|
||||
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)applyPrefs, CFSTR("com.burritoz.kaiprefs.apply"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
|
||||
|
||||
controller = self;
|
||||
}
|
||||
|
||||
- (void)resetPrefs:(id)sender {
|
||||
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Reset Preferences"
|
||||
message:@"Are you sure you want to reset all of your preferences? This action CANNOT be undone! Your device will respring."
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"No"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction *action){
|
||||
}];
|
||||
UIAlertAction *yes = [UIAlertAction actionWithTitle:@"Yes"
|
||||
style:UIAlertActionStyleDestructive
|
||||
handler:^(UIAlertAction *action) {
|
||||
NSUserDefaults *prefs = [[NSUserDefaults standardUserDefaults] init];
|
||||
[prefs removePersistentDomainForName:@"com.burritoz.kaiprefs"];
|
||||
|
||||
NSTask *f = [[NSTask alloc] init];
|
||||
[f setLaunchPath:@"/usr/bin/killall"];
|
||||
[f setArguments:[NSArray arrayWithObjects:@"backboardd", nil]];
|
||||
[f launch];
|
||||
}];
|
||||
|
||||
[alert addAction:defaultAction];
|
||||
[alert addAction:yes];
|
||||
[self presentViewController:alert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
|
||||
CGFloat offsetY = scrollView.contentOffset.y;
|
||||
|
||||
if (offsetY > 120) {
|
||||
[UIView animateWithDuration:0.2
|
||||
animations:^{
|
||||
self.iconView.alpha = 1.0;
|
||||
self.titleLabel.alpha = 0.0;
|
||||
}];
|
||||
} else {
|
||||
[UIView animateWithDuration:0.2
|
||||
animations:^{
|
||||
self.iconView.alpha = 0.0;
|
||||
self.titleLabel.alpha = 1.0;
|
||||
}];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)followMeBurritoz {
|
||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://twitter.com/burrit0ztweaks"]];
|
||||
}
|
||||
|
||||
- (void)followMeOnTwitterThomz {
|
||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://twitter.com/thomzi07"]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation KaiHeaderCell // Header Cell
|
||||
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(id)reuseIdentifier specifier:(id)specifier {
|
||||
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier specifier:specifier];
|
||||
|
||||
if (self) {
|
||||
UILabel *tweakLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 30, self.contentView.bounds.size.width + 30, 50)];
|
||||
[tweakLabel setTextAlignment:NSTextAlignmentLeft];
|
||||
[tweakLabel setFont:[UIFont systemFontOfSize:50 weight:UIFontWeightRegular]];
|
||||
tweakLabel.text = @"kai";
|
||||
|
||||
UILabel *devLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 70, self.contentView.bounds.size.width + 30, 50)];
|
||||
[devLabel setTextAlignment:NSTextAlignmentLeft];
|
||||
[devLabel setFont:[UIFont systemFontOfSize:20 weight:UIFontWeightMedium]];
|
||||
devLabel.alpha = 0.8;
|
||||
devLabel.text = getPackageVersion();
|
||||
|
||||
NSBundle *bundle = [[NSBundle alloc] initWithPath:@"/Library/PreferenceBundles/kaiPrefs.bundle"];
|
||||
UIImage *logo = [UIImage imageWithContentsOfFile:[bundle pathForResource:@"iconFullSize" ofType:@"png"]];
|
||||
UIImageView *icon = [[UIImageView alloc] initWithImage:logo];
|
||||
icon.frame = CGRectMake(self.contentView.bounds.size.width - 35, 35, 70, 70);
|
||||
icon.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
|
||||
[self addSubview:tweakLabel];
|
||||
[self addSubview:devLabel];
|
||||
[self addSubview:icon];
|
||||
|
||||
[icon.rightAnchor constraintEqualToAnchor:self.rightAnchor constant:-20].active = YES;
|
||||
[icon.centerYAnchor constraintEqualToAnchor:self.centerYAnchor].active = YES;
|
||||
[icon.widthAnchor constraintEqualToConstant:70].active = YES;
|
||||
[icon.heightAnchor constraintEqualToConstant:70].active = YES;
|
||||
|
||||
icon.layer.masksToBounds = YES;
|
||||
icon.layer.cornerRadius = 15;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithSpecifier:(PSSpecifier *)specifier {
|
||||
return [self initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"KaiHeaderCell" specifier:specifier];
|
||||
}
|
||||
|
||||
- (void)setFrame:(CGRect)frame {
|
||||
frame.origin.x = 0;
|
||||
[super setFrame:frame];
|
||||
}
|
||||
|
||||
- (CGFloat)preferredHeightForWidth:(CGFloat)arg1 {
|
||||
return 140.0f;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation Thomz_TwitterCell // lil copy of HBTwitterCell from Cephei
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier specifier:(PSSpecifier *)specifier {
|
||||
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier specifier:specifier];
|
||||
|
||||
if (self) {
|
||||
UILabel *User = [[UILabel alloc] initWithFrame:CGRectMake(70, 15, 200, 20)];
|
||||
[User setText:specifier.properties[@"user"]];
|
||||
[User setFont:[User.font fontWithSize:15]];
|
||||
|
||||
UILabel *Description = [[UILabel alloc] initWithFrame:CGRectMake(70, 35, 200, 20)];
|
||||
[Description setText:specifier.properties[@"description"]];
|
||||
[Description setFont:[Description.font fontWithSize:10]];
|
||||
|
||||
NSBundle *bundle = [[NSBundle alloc] initWithPath:@"/Library/PreferenceBundles/kaiPrefs.bundle"];
|
||||
|
||||
UIImage *profilePicture;
|
||||
profilePicture = [UIImage imageWithContentsOfFile:[bundle pathForResource:specifier.properties[@"image"] ofType:@"jpg"]];
|
||||
UIImageView *profilePictureView = [[UIImageView alloc] initWithImage:profilePicture];
|
||||
[profilePictureView.layer setMasksToBounds:YES];
|
||||
[profilePictureView.layer setCornerRadius:20];
|
||||
[profilePictureView setFrame:CGRectMake(15, 15, 40, 40)];
|
||||
|
||||
[self addSubview:User];
|
||||
[self addSubview:Description];
|
||||
[self addSubview:profilePictureView];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
24
kaiprefs/Resources/Info.plist
Normal file
24
kaiprefs/Resources/Info.plist
Normal file
@ -0,0 +1,24 @@
|
||||
<?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>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>kaiPrefs</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>KAIRootListController</string>
|
||||
</dict>
|
||||
</plist>
|
593
kaiprefs/Resources/Root.plist
Normal file
593
kaiprefs/Resources/Root.plist
Normal file
@ -0,0 +1,593 @@
|
||||
<?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>PSGroupCell</string>
|
||||
<key>headerCellClass</key>
|
||||
<string>KaiHeaderCell</string>
|
||||
<key>height</key>
|
||||
<integer>175</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSButtonCell</string>
|
||||
<key>cellClass</key>
|
||||
<string>Thomz_TwitterCell</string>
|
||||
<key>user</key>
|
||||
<string>Burrit0z</string>
|
||||
<key>description</key>
|
||||
<string>Developer</string>
|
||||
<key>height</key>
|
||||
<integer>70</integer>
|
||||
<key>image</key>
|
||||
<string>burritoz</string>
|
||||
<key>action</key>
|
||||
<string>followMeBurritoz</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSButtonCell</string>
|
||||
<key>cellClass</key>
|
||||
<string>Thomz_TwitterCell</string>
|
||||
<key>user</key>
|
||||
<string>Thomz</string>
|
||||
<key>description</key>
|
||||
<string>Prefs banner</string>
|
||||
<key>height</key>
|
||||
<integer>70</integer>
|
||||
<key>image</key>
|
||||
<string>thomz</string>
|
||||
<key>action</key>
|
||||
<string>followMeOnTwitterThomz</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>enabled</string>
|
||||
<key>label</key>
|
||||
<string>Enable</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.respringneeded</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>hideChargingAnimation</string>
|
||||
<key>label</key>
|
||||
<string>Hide CoverSheet Charging Animations</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.respringneeded</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>removeForMedia</string>
|
||||
<key>label</key>
|
||||
<string>Hide when music player showing</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.respringneeded</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>footerText</key>
|
||||
<string>By having the show non-charging devices option on, all devices, not only devices that are charging, will show. When the always show bluetooth devices option is on, kai will show all connected bluetooth devices if they are charging or not.</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>showAll</string>
|
||||
<key>label</key>
|
||||
<string>Show non-charging devices</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>showPhone</string>
|
||||
<key>label</key>
|
||||
<string>Show phone battery</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>showAllMinusInternal</string>
|
||||
<key>label</key>
|
||||
<string>Always show bluetooth devices</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>disableGlyphs</string>
|
||||
<key>label</key>
|
||||
<string>Hide Device Glyphs</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>hidePercent</string>
|
||||
<key>label</key>
|
||||
<string>Hide Percent Label</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>hideDeviceLabel</string>
|
||||
<key>label</key>
|
||||
<string>Hide Device Name Label</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>hideBatteryIcon</string>
|
||||
<key>label</key>
|
||||
<string>Hide Battery Icon</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Alignemnt Axis (Respring Required)</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSegmentCell</string>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>default</key>
|
||||
<string>0</string>
|
||||
<key>key</key>
|
||||
<string>kaiAlign</string>
|
||||
<key>validValues</key>
|
||||
<array>
|
||||
<string>0</string>
|
||||
<string>1</string>
|
||||
</array>
|
||||
<key>validTitles</key>
|
||||
<array>
|
||||
<string>Vertical</string>
|
||||
<string>Horizontal</string>
|
||||
</array>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.respringneeded</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Banner Style</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSegmentCell</string>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>default</key>
|
||||
<string>1</string>
|
||||
<key>key</key>
|
||||
<string>bannerStyle</string>
|
||||
<key>validValues</key>
|
||||
<array>
|
||||
<string>1</string>
|
||||
<string>2</string>
|
||||
<string>3</string>
|
||||
</array>
|
||||
<key>validTitles</key>
|
||||
<array>
|
||||
<string>Automatic</string>
|
||||
<string>Dark</string>
|
||||
<string>Light</string>
|
||||
</array>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Text Color</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSegmentCell</string>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>default</key>
|
||||
<string>0</string>
|
||||
<key>key</key>
|
||||
<string>textColor</string>
|
||||
<key>validValues</key>
|
||||
<array>
|
||||
<string>0</string>
|
||||
<string>1</string>
|
||||
<string>2</string>
|
||||
</array>
|
||||
<key>validTitles</key>
|
||||
<array>
|
||||
<string>Adaptive</string>
|
||||
<string>White</string>
|
||||
<string>Black</string>
|
||||
</array>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Banner Alignment</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSegmentCell</string>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>default</key>
|
||||
<string>2</string>
|
||||
<key>key</key>
|
||||
<string>bannerAlign</string>
|
||||
<key>validValues</key>
|
||||
<array>
|
||||
<string>1</string>
|
||||
<string>2</string>
|
||||
<string>3</string>
|
||||
</array>
|
||||
<key>validTitles</key>
|
||||
<array>
|
||||
<string>Left</string>
|
||||
<string>Center</string>
|
||||
<string>Right</string>
|
||||
</array>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>reAlignSelf</string>
|
||||
<key>label</key>
|
||||
<string>Realign after refreshing (horizontal)</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>belowMusic</string>
|
||||
<key>label</key>
|
||||
<string>Show kai Below Music</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Banner Height (80)</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>80</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>20</real>
|
||||
<key>max</key>
|
||||
<real>400</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>bannerHeight</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Banner Width Adjustment (0)</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>0</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>-400</real>
|
||||
<key>max</key>
|
||||
<real>400</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>bannerWidthFactor</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Banner Spacing - Vertical (5)</string>
|
||||
<key>footerText</key>
|
||||
<string>This is the spacing between cells vertically</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>5</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>-100.0</real>
|
||||
<key>max</key>
|
||||
<real>300</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>spacing</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<false/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>extraPaddingAfter</string>
|
||||
<key>label</key>
|
||||
<string>Add padding after kai</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Banner Spacing - Horizontal (8)</string>
|
||||
<key>footerText</key>
|
||||
<string>This is the spacing between cells horizontally, for kai's horizontal mode.</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>8</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>-100.0</real>
|
||||
<key>max</key>
|
||||
<real>300</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>spacingHorizontal</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Horizontal Axis Manual Offset (0)</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>0</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>-300.0</real>
|
||||
<key>max</key>
|
||||
<real>300</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>horizontalOffset</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Glyph Size (30)</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>30</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>10</real>
|
||||
<key>max</key>
|
||||
<real>60</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>glyphSize</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Corner Radius (13)</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>13</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>0.0</real>
|
||||
<key>max</key>
|
||||
<real>100</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>cornerRadius</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Banner Blur Alpha (1)</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<real>1</real>
|
||||
<key>cell</key>
|
||||
<string>PSSliderCell</string>
|
||||
<key>min</key>
|
||||
<real>0.0</real>
|
||||
<key>max</key>
|
||||
<real>1</real>
|
||||
<key>isSegmented</key>
|
||||
<false/>
|
||||
<key>showValue</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.burritoz.kaiprefs</string>
|
||||
<key>key</key>
|
||||
<string>bannerAlpha</string>
|
||||
<key>PostNotification</key>
|
||||
<string>com.burritoz.kaiprefs.apply</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSButtonCell</string>
|
||||
<key>action</key>
|
||||
<string>resetPrefs:</string>
|
||||
<key>label</key>
|
||||
<string>Reset All Preferences</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>title</key>
|
||||
<string>kai</string>
|
||||
</dict>
|
||||
</plist>
|
BIN
kaiprefs/Resources/burritoz.jpg
Normal file
BIN
kaiprefs/Resources/burritoz.jpg
Normal file
File binario non mostrato.
Dopo Larghezza: | Altezza: | Dimensione: 13 KiB |
BIN
kaiprefs/Resources/icon.png
Normal file
BIN
kaiprefs/Resources/icon.png
Normal file
File binario non mostrato.
Dopo Larghezza: | Altezza: | Dimensione: 1.5 KiB |
BIN
kaiprefs/Resources/icon@2x.png
Normal file
BIN
kaiprefs/Resources/icon@2x.png
Normal file
File binario non mostrato.
Dopo Larghezza: | Altezza: | Dimensione: 3.4 KiB |
BIN
kaiprefs/Resources/icon@3x.png
Normal file
BIN
kaiprefs/Resources/icon@3x.png
Normal file
File binario non mostrato.
Dopo Larghezza: | Altezza: | Dimensione: 8.3 KiB |
BIN
kaiprefs/Resources/iconFullSize.png
Normal file
BIN
kaiprefs/Resources/iconFullSize.png
Normal file
File binario non mostrato.
Dopo Larghezza: | Altezza: | Dimensione: 120 KiB |
BIN
kaiprefs/Resources/thomz.jpg
Normal file
BIN
kaiprefs/Resources/thomz.jpg
Normal file
File binario non mostrato.
Dopo Larghezza: | Altezza: | Dimensione: 25 KiB |
21
kaiprefs/entry.plist
Normal file
21
kaiprefs/entry.plist
Normal file
@ -0,0 +1,21 @@
|
||||
<?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>entry</key>
|
||||
<dict>
|
||||
<key>bundle</key>
|
||||
<string>kaiPrefs</string>
|
||||
<key>cell</key>
|
||||
<string>PSLinkCell</string>
|
||||
<key>detail</key>
|
||||
<string>KAIRootListController</string>
|
||||
<key>icon</key>
|
||||
<string>icon.png</string>
|
||||
<key>isController</key>
|
||||
<true/>
|
||||
<key>label</key>
|
||||
<string>kai</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
Fai riferimento in un nuovo problema
Block a user