-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtweak.xm
More file actions
81 lines (61 loc) · 1.56 KB
/
tweak.xm
File metadata and controls
81 lines (61 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#import <Cephei/HBPreferences.h>
#include <RemoteLog.h>
BOOL enabled;
BOOL classicEnabled;
BOOL multipleEnabled;
%hook SBApplicationInfo
-(BOOL) wantsExclusiveForeground {
return enabled ? NO : %orig;
}
-(BOOL) wantsFullScreen {
return enabled ? NO : %orig;
}
-(BOOL) disablesClassicMode {
return classicEnabled ? YES : %orig;
}
-(BOOL) _preventsLaunchInterfaceSplitting {
return enabled ? NO : %orig;
}
-(BOOL)supports64Bit {
return enabled ? YES : %orig;
}
-(BOOL)supportsMultiwindow {
return multipleEnabled ? YES : %orig;
}
-(BOOL)requiresHiDPI {
return enabled ? YES : %orig;
}
%end
%hook SBApplication
- (long long) _classicModeFromSplashBoard {
return classicEnabled ? 0 : %orig;
}
- (long long)_phoneOnPad_classicModeFromSplashBoard {
return classicEnabled ? 0 : %orig;
}
-(BOOL) iconAllowsLaunch:(id)arg {
return enabled ? YES : %orig;
}
-(BOOL) classicAppPhoneAppRunningOnPad {
return classicEnabled ? NO : %orig;
}
-(BOOL) classicAppFullScreen {
return classicEnabled ? NO : %orig;
}
-(BOOL) classicAppScaled {
return classicEnabled ? NO : %orig;
}
-(BOOL) isClassic {
return classicEnabled ? NO : %orig;
}
-(BOOL) wantsLegacyFullscreenInterfaceOrientationBehaviors {
return classicEnabled ? NO : %orig;
}
%end
%ctor {
HBPreferences *prefs = [[HBPreferences alloc] initWithIdentifier:@"com.itsjafer.bettermultitasking"];
[prefs registerBool:&enabled default:YES forKey:@"enabled"];
[prefs registerBool:&classicEnabled default:YES forKey:@"classicEnabled"];
[prefs registerBool:&multipleEnabled default:YES forKey:@"multipleEnabled"];
%init;
}