diff --git a/SpacesRenamer/Info.plist b/SpacesRenamer/Info.plist
index 922228f..7840770 100644
--- a/SpacesRenamer/Info.plist
+++ b/SpacesRenamer/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 1.7.2
+ 1.7.3
CFBundleVersion
1
LSMinimumSystemVersion
diff --git a/build/spaces-renamer.zip b/build/spaces-renamer.zip
index bef1f39..78b1d40 100644
Binary files a/build/spaces-renamer.zip and b/build/spaces-renamer.zip differ
diff --git a/spaces-renamer/Info.plist b/spaces-renamer/Info.plist
index 95fb99d..3a299d6 100755
--- a/spaces-renamer/Info.plist
+++ b/spaces-renamer/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 1.7.2
+ 1.7.3
CFBundleSignature
????
CFBundleVersion
diff --git a/spaces-renamer/spacesRenamer.m b/spaces-renamer/spacesRenamer.m
index 05bf0ce..c1781cc 100755
--- a/spaces-renamer/spacesRenamer.m
+++ b/spaces-renamer/spacesRenamer.m
@@ -13,7 +13,7 @@
static char OVERRIDDEN_STRING;
static char OVERRIDDEN_WIDTH;
static char OFFSET;
-static char MOVED;
+static char NEW_X;
static char TYPE;
#define customNamesPlist [@"~/Library/Containers/com.alexbeals.spacesrenamer/com.alexbeals.spacesrenamer.plist" stringByExpandingTildeInPath]
@@ -186,42 +186,35 @@ static int getSelected(NSArray *views) {
ZKSwizzleInterface(_SRCALayer, CALayer, CALayer);
@implementation _SRCALayer
-- (void)setBounds:(CGRect)arg1 {
-
- return ZKOrig(void, arg1);
-}
- (void)setFrame:(CGRect)arg1 {
id possibleWidth = objc_getAssociatedObject(self, &OVERRIDDEN_WIDTH);
if (possibleWidth && [possibleWidth isKindOfClass:[NSNumber class]] && self.class == NSClassFromString(@"CALayer")) {
arg1.size.width = [possibleWidth doubleValue] + 20;
}
+
+ id possibleType = objc_getAssociatedObject(self, &TYPE);
+ if (possibleType == nil) {
+ return ZKOrig(void, arg1);
+ }
- int textIndex = self.sublayers.lastObject.class == NSClassFromString(@"ECTextLayer")
- ? (int)self.sublayers.count - 1
- : -1;
-
- if (textIndex != -1) {
- id possibleWidth = objc_getAssociatedObject(self.sublayers[textIndex], &OVERRIDDEN_WIDTH);
- if (possibleWidth && [possibleWidth isKindOfClass:[NSNumber class]]) {
- arg1.size.width = [possibleWidth doubleValue];
- }
-
- id possibleType = objc_getAssociatedObject(self, &TYPE);
- if (possibleType && [possibleType isEqualToString:@"expanded"]) {
- // Always just center in the parent view
- arg1.origin.x = self.superlayer.frame.size.width / 2 - arg1.size.width / 2;
- } else {
- id possibleOffset = objc_getAssociatedObject(self.sublayers[textIndex], &OFFSET);
- id didMove = objc_getAssociatedObject(self, &MOVED);
- // Only change the offsets once
- if (possibleOffset && [possibleOffset isKindOfClass:[NSNumber class]] && (!didMove || ![didMove boolValue])) {
- arg1.origin.x += [possibleOffset doubleValue];
+ int textIndex = (int)self.sublayers.count - 1;
+ possibleWidth = objc_getAssociatedObject(self.sublayers[textIndex], &OVERRIDDEN_WIDTH);
+ if (possibleWidth && [possibleWidth isKindOfClass:[NSNumber class]]) {
+ arg1.size.width = [possibleWidth doubleValue];
+ }
- assign(self, &MOVED, [NSNumber numberWithBool:YES]);
- }
+ if ([possibleType isEqualToString:@"expanded"]) {
+ // Always just center in the parent view
+ arg1.origin.x = self.superlayer.frame.size.width / 2 - arg1.size.width / 2;
+ } else if ([possibleType isEqualToString:@"unexpanded"]) {
+ id possibleOffset = objc_getAssociatedObject(self.sublayers[textIndex], &OFFSET);
+ id newX = objc_getAssociatedObject(self, &NEW_X);
+ // Only change the offsets once
+ if (possibleOffset && [possibleOffset isKindOfClass:[NSNumber class]] && (newX == nil || [newX doubleValue] != arg1.origin.x)) {
+ arg1.origin.x += [possibleOffset doubleValue];
+
+ assign(self, &NEW_X, @(arg1.origin.x));
}
-
-
}
return ZKOrig(void, arg1);