diff --git a/AppKit/_CPToolTip.j b/AppKit/_CPToolTip.j index c67bf4b4c..b0bfb1f9c 100644 --- a/AppKit/_CPToolTip.j +++ b/AppKit/_CPToolTip.j @@ -197,7 +197,7 @@ var _CPToolTipHeight = 24.0, - (void)showToolTip { var mousePosition = [[CPApp currentEvent] globalLocation], - nativeRect = [[[CPApp mainWindow] platformWindow] nativeContentRect]; + nativeRect = [[CPPlatformWindow primaryPlatformWindow] nativeContentRect]; mousePosition.y += 20; diff --git a/Tools/XcodeCapp/TNXCodeCapp.h b/Tools/XcodeCapp/TNXCodeCapp.h index 2097b6dc8..fe5e09f0c 100644 --- a/Tools/XcodeCapp/TNXCodeCapp.h +++ b/Tools/XcodeCapp/TNXCodeCapp.h @@ -40,6 +40,7 @@ extern NSString * const XCCListeningStartNotification; NSString *XCodeSupportProjectName; NSString *XCodeTemplatePBXPath; NSString *profilePath; + NSString *shellPath; NSString *PBXModifierScriptPath; NSURL *currentProjectURL; NSURL *XCodeSupportProject; @@ -99,4 +100,3 @@ extern NSString * const XCCListeningStartNotification; - (NSDate*)lastModificationDateForPath:(NSString *)path; @end - diff --git a/Tools/XcodeCapp/TNXCodeCapp.m b/Tools/XcodeCapp/TNXCodeCapp.m index 1e35e29cc..debbdf0d1 100644 --- a/Tools/XcodeCapp/TNXCodeCapp.m +++ b/Tools/XcodeCapp/TNXCodeCapp.m @@ -73,21 +73,44 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification [self configure]; - if([fm fileExistsAtPath:[@"~/.bash_profile" stringByExpandingTildeInPath]]) - profilePath = [@"source ~/.bash_profile" stringByExpandingTildeInPath]; - else if([fm fileExistsAtPath:[@"~/.profile" stringByExpandingTildeInPath]]) - profilePath = [@"source ~/.profile" stringByExpandingTildeInPath]; - else if([fm fileExistsAtPath:[@"~/.bashrc" stringByExpandingTildeInPath]]) - profilePath = [@"source ~/.bashrc" stringByExpandingTildeInPath]; - else if([fm fileExistsAtPath:[@"~/.zshrc" stringByExpandingTildeInPath]]) - profilePath = [@"source ~/.zshrc" stringByExpandingTildeInPath]; + NSString* myShell = [[[NSProcessInfo processInfo] environment] objectForKey:@"SHELL"]; + + if (myShell) + { + shellPath = myShell; + } else { - NSAlert *alert = [NSAlert alertWithMessageText:@"Cannot find any valid profile file." + shellPath = @"/bin/bash"; + } + + if([shellPath isEqualToString:@"/bin/bash"]) + { + if([fm fileExistsAtPath:[@"~/.bash_profile" stringByExpandingTildeInPath]]) + profilePath = [@"source ~/.bash_profile" stringByExpandingTildeInPath]; + else if([fm fileExistsAtPath:[@"~/.bashrc" stringByExpandingTildeInPath]]) + profilePath = [@"source ~/.bashrc" stringByExpandingTildeInPath]; + else if([fm fileExistsAtPath:[@"~/.profile" stringByExpandingTildeInPath]]) + profilePath = [@"source ~/.profile" stringByExpandingTildeInPath]; + else + profilePath = @""; + } + else if ([shellPath isEqualToString:@"/bin/zsh"]) + { + if([fm fileExistsAtPath:[@"~/.zshrc" stringByExpandingTildeInPath]]) + profilePath = [@"source ~/.zshrc" stringByExpandingTildeInPath]; + else if([fm fileExistsAtPath:[@"~/.profile" stringByExpandingTildeInPath]]) + profilePath = [@"source ~/.profile" stringByExpandingTildeInPath]; + else + profilePath = @""; + } + else + { + NSAlert *alert = [NSAlert alertWithMessageText:@"Shell not recognized." defaultButton:@"OK" alternateButton:nil otherButton:nil - informativeTextWithFormat:@"Neither ~/.bash_profile, ~/.profile, ~/.bashrc nor ~/.zshrc can be found.\n\nWithout this XcodeCapp cannot locate nib2cib.\n\nIf you notice any errors or strange behaviour, please look at the system log for messages and open a ticket."]; + informativeTextWithFormat:@"You are running %@ as your shell, which is not supported. Please change your shell to either BASH or ZSH.", shellPath]; [alert runModal]; profilePath = @""; } @@ -415,8 +438,8 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification NSNumber *status; task = [[NSTask alloc] init]; - - [task setLaunchPath: @"/bin/bash"]; + + [task setLaunchPath:shellPath]; [task setArguments: arguments]; [task setStandardOutput:[NSPipe pipe]]; [task launch]; diff --git a/Tools/XcodeCapp/parser.j b/Tools/XcodeCapp/parser.j index 2b8a5208b..664202a9f 100644 --- a/Tools/XcodeCapp/parser.j +++ b/Tools/XcodeCapp/parser.j @@ -119,7 +119,7 @@ function main(args) "\n@end\n"; ObjectiveCSource += - "#import \"" + outputHeaderURL.absoluteString().replace(/\\/g,'/').replace( /.*\//, '' ) + "\"" + + "#import \"" + outputHeaderURL.absoluteString().replace(/\\/g,'/').replace(/(.*\/)/g, '') + "\"" + "\n@implementation " + class_getName(aClass) + "\n@end\n"; }); diff --git a/Tools/nib2cib/NSSearchField.j b/Tools/nib2cib/NSSearchField.j index ce762cc80..c876ef071 100644 --- a/Tools/nib2cib/NSSearchField.j +++ b/Tools/nib2cib/NSSearchField.j @@ -38,13 +38,6 @@ [self setMaximumRecents:[cell maximumRecents]]; [self setSendsWholeSearchString:[cell sendsWholeSearchString]]; [self setSendsSearchStringImmediately:[cell sendsSearchStringImmediately]]; - - if ([self isBezeled]) - { - // NSTextField.j makes the field +7.0 pixels tall. We want +8.0 to go to 30. - var frame = [self frame]; - [self setFrameSize:CGSizeMake(frame.size.width, frame.size.height + 1.0)]; - } } return self;