├── icons.icns ├── graphics └── sierra_app.png ├── English.lproj └── InfoPlist.strings ├── plugins ├── hyper │ ├── English.lproj │ │ └── InfoPlist.strings │ ├── CD2Hyper.h │ ├── CD2Hyper.m │ ├── Info.plist │ └── hyper.xcodeproj │ │ └── project.pbxproj ├── iterm │ ├── English.lproj │ │ └── InfoPlist.strings │ ├── CD2ITerm.h │ ├── CD2ITerm.m │ ├── Info.plist │ ├── iterm.xcodeproj │ │ └── project.pbxproj │ └── osaglue ├── X11_xterm │ ├── English.lproj │ │ └── InfoPlist.strings │ ├── LaunchXTerm.sh │ ├── CD2X11XTermPlugin.h │ ├── Info.plist │ ├── CD2X11XTermPlugin.m │ └── X11_xterm.xcodeproj │ │ └── project.pbxproj ├── terminal │ ├── English.lproj │ │ └── InfoPlist.strings │ ├── CD2Terminal.h │ ├── CD2Terminal.m │ ├── Info.plist │ └── terminal.xcodeproj │ │ └── project.pbxproj └── CD2PluginProtocolV1.h ├── cd_to.xcodeproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── project.pbxproj ├── .gitignore ├── LICENSE.md ├── Info.plist ├── CHANGELOG.md ├── README.md └── main.m /icons.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ealeksandrov/cdto/HEAD/icons.icns -------------------------------------------------------------------------------- /graphics/sierra_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ealeksandrov/cdto/HEAD/graphics/sierra_app.png -------------------------------------------------------------------------------- /English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ealeksandrov/cdto/HEAD/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /plugins/hyper/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ealeksandrov/cdto/HEAD/plugins/hyper/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /plugins/iterm/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ealeksandrov/cdto/HEAD/plugins/iterm/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /plugins/X11_xterm/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ealeksandrov/cdto/HEAD/plugins/X11_xterm/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /plugins/terminal/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ealeksandrov/cdto/HEAD/plugins/terminal/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /plugins/X11_xterm/LaunchXTerm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # LaunchXTerm.sh 4 | # X11_xterm 5 | # 6 | # Created by James Tuley on 2/18/07. 7 | # Copyright 2007 Jay Tuley. All rights reserved. 8 | 9 | /usr/X11R6/bin/xterm -------------------------------------------------------------------------------- /cd_to.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /plugins/CD2PluginProtocolV1.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CD2PluginProtocolV1.h 3 | * cd to 4 | * 5 | * Created by James Tuley on 2/18/07. 6 | * Copyright 2007 Jay Tuley. All rights reserved. 7 | * 8 | */ 9 | #import 10 | 11 | @protocol CD2PluginProtocolV1 12 | 13 | - (BOOL)openTermWindowForPath:(NSString *)aPath; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /plugins/hyper/CD2Hyper.h: -------------------------------------------------------------------------------- 1 | // 2 | // CD2Hyper.h 3 | // hyper 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CD2PluginProtocolV1.h" 11 | 12 | @interface CD2Hyper : NSObject 13 | 14 | - (BOOL)openTermWindowForPath:(NSString *)aPath; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /plugins/iterm/CD2ITerm.h: -------------------------------------------------------------------------------- 1 | // 2 | // CD2ITerm.h 3 | // iterm 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CD2PluginProtocolV1.h" 11 | 12 | @interface CD2ITerm : NSObject 13 | 14 | - (BOOL)openTermWindowForPath:(NSString *)aPath; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /plugins/terminal/CD2Terminal.h: -------------------------------------------------------------------------------- 1 | // 2 | // CD2Terminal.h 3 | // terminal 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CD2PluginProtocolV1.h" 11 | 12 | @interface CD2Terminal : NSObject 13 | 14 | - (BOOL)openTermWindowForPath:(NSString *)aPath; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /plugins/X11_xterm/CD2X11XTermPlugin.h: -------------------------------------------------------------------------------- 1 | // 2 | // CD2X11Plugin.h 3 | // X11_xterm 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CD2PluginProtocolV1.h" 11 | 12 | @interface CD2X11XTermPlugin : NSObject 13 | 14 | - (BOOL)openTermWindowForPath:(NSString *)aPath; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OS noise 2 | Desktop.ini 3 | [Tt]humbs.db 4 | .Spotlight-V100 5 | *.DS_Store 6 | .Trashes 7 | ._* 8 | *~ 9 | *.swp 10 | *.out 11 | *.bak* 12 | 13 | #Other CSM 14 | .hg 15 | .svn 16 | CVS 17 | 18 | #Xcode noise 19 | *.log 20 | *~.nib 21 | *.moved-aside 22 | *.xcodeproj/* 23 | !*.xcodeproj/project.pbxproj 24 | *.xcworkspace/* 25 | !*.xcworkspace/contents.xcworkspacedata 26 | !xcshareddata 27 | *.xccheckout 28 | xcuserdata/ 29 | 30 | #Project files 31 | [Bb]uild/ 32 | DerivedData/ 33 | 34 | #CocoaPods 35 | Pods 36 | #Pods/*.xcodeproj/* 37 | #!Pods/*.xcodeproj/project.pbxproj 38 | -------------------------------------------------------------------------------- /plugins/terminal/CD2Terminal.m: -------------------------------------------------------------------------------- 1 | // 2 | // CD2Terminal.m 3 | // terminal 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import "CD2Terminal.h" 10 | 11 | #import "Terminal.h" 12 | 13 | @implementation CD2Terminal 14 | 15 | - (BOOL)openTermWindowForPath:(NSString *)aPath{ 16 | @try { 17 | TerminalApplication* terminal = [SBApplication applicationWithBundleIdentifier:@"com.apple.Terminal"]; 18 | [terminal activate]; 19 | [terminal open:[NSArray arrayWithObject:aPath]]; 20 | return YES; 21 | } @catch (id ue) { 22 | return NO; 23 | } @finally { 24 | return NO; 25 | } 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /plugins/hyper/CD2Hyper.m: -------------------------------------------------------------------------------- 1 | // 2 | // CD2Hyper.m 3 | // hyper 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import "CD2Hyper.h" 10 | 11 | @implementation CD2Hyper 12 | 13 | - (BOOL)openTermWindowForPath:(NSString *)aPath { 14 | @try { 15 | NSString *hyperAbsolutePath; 16 | hyperAbsolutePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:@"co.zeit.hyper"]; 17 | 18 | if (hyperAbsolutePath) { 19 | [[NSWorkspace sharedWorkspace] openFile:[aPath stringByExpandingTildeInPath] 20 | withApplication:hyperAbsolutePath 21 | andDeactivate:YES]; 22 | } 23 | 24 | } @catch (id test) { 25 | return NO; 26 | } 27 | return YES; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /plugins/iterm/CD2ITerm.m: -------------------------------------------------------------------------------- 1 | // 2 | // CD2ITerm.m 3 | // iterm 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import "CD2ITerm.h" 10 | 11 | @implementation CD2ITerm 12 | 13 | - (BOOL)openTermWindowForPath:(NSString *)aPath { 14 | @try { 15 | NSString *iterm2AbsolutePath; 16 | iterm2AbsolutePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:@"com.googlecode.iterm2"]; 17 | 18 | if (iterm2AbsolutePath) { 19 | [[NSWorkspace sharedWorkspace] openFile:[aPath stringByExpandingTildeInPath] 20 | withApplication:iterm2AbsolutePath 21 | andDeactivate:YES]; 22 | } 23 | 24 | } @catch (id test) { 25 | return NO; 26 | } 27 | return YES; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /plugins/hyper/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.1 23 | NSPrincipalClass 24 | CD2Hyper 25 | 26 | 27 | -------------------------------------------------------------------------------- /plugins/iterm/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.1 23 | NSPrincipalClass 24 | CD2ITerm 25 | 26 | 27 | -------------------------------------------------------------------------------- /plugins/terminal/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleName 10 | ${PRODUCT_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | indy.jt.cdto.plugin.terminal 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.1 23 | NSPrincipalClass 24 | CD2Terminal 25 | 26 | 27 | -------------------------------------------------------------------------------- /plugins/X11_xterm/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSPrincipalClass 24 | CD2X11XTermPlugin 25 | 26 | 27 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2007-2013 Jay Tuley 4 | Copyright (c) 2016-2018 Evgeny Aleksandrov 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | cd_to 9 | CFBundleIconFile 10 | icons.icns 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | cd_to 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 2.8 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 8 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | 10.7 29 | LSUIElement 30 | 1 31 | NSMainNibFile 32 | MainMenu 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /plugins/X11_xterm/CD2X11XTermPlugin.m: -------------------------------------------------------------------------------- 1 | // 2 | // CD2X11XTermPlugin.m 3 | // X11_xterm 4 | // 5 | // Created by James Tuley on 2/18/07. 6 | // Copyright 2007 Jay Tuley. All rights reserved. 7 | // 8 | 9 | #import "CD2X11XTermPlugin.h" 10 | 11 | @implementation CD2X11XTermPlugin 12 | 13 | - (BOOL)openTermWindowForPath:(NSString *)aPath{ 14 | @try { 15 | if (![[NSWorkspace sharedWorkspace] launchApplication:@"X11.app"]) { 16 | [[NSWorkspace sharedWorkspace] launchApplication:@"XQuartz.app"]; 17 | } 18 | 19 | NSTask *task = [[NSTask alloc] init]; 20 | [task setCurrentDirectoryPath:aPath]; 21 | 22 | NSMutableDictionary *enviornment = [[[[NSProcessInfo processInfo] environment] mutableCopy] autorelease]; 23 | [task setEnvironment:enviornment]; 24 | 25 | NSString *path = @"/usr/X11R6/bin/xterm"; 26 | if (![[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:NULL]) { 27 | path = @"/opt/X11/bin/xterm"; 28 | } 29 | [task setLaunchPath:path]; 30 | 31 | [task setStandardOutput:[NSFileHandle fileHandleWithStandardOutput]]; 32 | [task setStandardError:[NSFileHandle fileHandleWithStandardOutput]]; 33 | 34 | [task launch]; 35 | } 36 | @catch (id ex) { 37 | return NO; 38 | } 39 | 40 | return YES; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # cd to 2 | 3 | ## Version 2.8 4 | 5 | * Adds Hyper plugin 6 | 7 | ## Version 2.7 8 | 9 | * El Capitan icon 10 | * Code cleanup 11 | 12 | ## Version 2.6 13 | * Fixed bug where get info window interferes 14 | * works on selected folder again 15 | * iTerm 2 plugin update 16 | 17 | ## Version 2.5 18 | * Lion Version 19 | * Use terminal open apple event 20 | * works with tcsh as well as bash 21 | * New Icons 22 | 23 | ## Version 2.3 24 | * Snow Leopard Version 25 | 26 | ## Version 2.2 27 | * Clear Scroll-back on Terminal plugin (Thanks to Marc Liyanage for the original tip) 28 | * Fixed issues with special characters in file path bug that existed for Terminal and iTerm plugin 29 | * iTerm plugin will try to avoid opening two windows on iTerm launch 30 | * Leopard icon 31 | 32 | ## Version 2.1.1 33 | * Fixed bug involving apostrophes in path 34 | * PathFinder plugin (Finder->Pathfinder) contributed by Brian Koponen 35 | 36 | ## Version 2.1 37 | * Plugin archtexture allowing support for other terminals 38 | * Default plugins for iTerm & X11/xterm 39 | * Terminal plugin will try to avoid opening two windows on terminal.app's launch 40 | 41 | ## Version 2.0 (2005) 42 | * Ported to objective-c using appscript, boosting launch & execution speed 43 | * properly resolves aliases 44 | * no longer shows icon in dock on launch 45 | 46 | ## Version 1.0 (2003) 47 | * targeted Panther OS X 10.3 48 | * was applescript 49 | 50 | ## Pre 1.0 (2001) 51 | Really old applescript 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cd to... 2 | 3 | [![Latest Release](https://img.shields.io/github/release/ealeksandrov/cdto.svg)](https://github.com/ealeksandrov/cdto/releases/latest) 4 | [![License](https://img.shields.io/github/license/ealeksandrov/cdto.svg)](LICENSE.md) 5 | ![Platform](https://img.shields.io/badge/platform-macos-lightgrey.svg) 6 | 7 | 8 | 9 | Finder Toolbar app to open the current directory in the Terminal (or [iTerm](https://www.iterm2.com), [Hyper](https://hyper.is), X11) 10 | 11 | * It's written in objective-c, and uses the scripting bridge so it's *fast*. 12 | * It's also shell agnostic. Works equally well when your shell is `bash` or `fish` or `tcsh`. 13 | 14 | ## Usage 15 | 16 | Download [Latest cdto.zip](https://github.com/ealeksandrov/cdto/releases/latest) 17 | 18 | To install `cd_to.app` copy it from the appropriate sub-folder (iterm/hyper/x11_xterm/unsigned per your choice) to your Applications folder, and then from the applications folder drag it into the Finder toolbar (10.9 Mavericks requires ⌘ + ⌥, 10.12 Sierra requires ⌘) 19 | 20 | To use, just click on the new button and instanly opens a new terminal window. 21 | 22 | ## Author 23 | 24 | Created by [Jay Tuley](https://github.com/jbtule/cdto). 25 | 26 | Fork maintained by Evgeny Aleksandrov ([@ealeksandrov](https://twitter.com/ealeksandrov)). 27 | 28 | ## License 29 | 30 | `cd to` is available under the MIT license. See the [LICENSE.md](LICENSE.md) file for more info. 31 | -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // cd to 4 | // 5 | // Created by James Tuley on 2/16/07. 6 | // Copyright Jay Tuley 2007. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CD2PluginProtocolV1.h" 11 | #import "Finder.h" 12 | 13 | NSString *getPathToFrontFinderWindow() { 14 | 15 | FinderApplication* finder = [SBApplication applicationWithBundleIdentifier:@"com.apple.Finder"]; 16 | 17 | FinderItem *target = [(NSArray*)[[finder selection]get] firstObject]; 18 | if (target == nil) { 19 | target = [[[[finder FinderWindows] firstObject] target] get]; 20 | } 21 | 22 | NSURL *url =[NSURL URLWithString:target.URL]; 23 | NSError *error; 24 | NSData *bookmark = [NSURL bookmarkDataWithContentsOfURL:url error:nil]; 25 | NSURL *fullUrl = [NSURL URLByResolvingBookmarkData:bookmark 26 | options:NSURLBookmarkResolutionWithoutUI 27 | relativeToURL:nil 28 | bookmarkDataIsStale:nil 29 | error:&error]; 30 | if (fullUrl != nil) { 31 | url = fullUrl; 32 | } 33 | 34 | 35 | NSString* path = [[url path] stringByExpandingTildeInPath]; 36 | 37 | BOOL isDir = NO; 38 | [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&isDir]; 39 | 40 | 41 | 42 | if (!isDir) { 43 | path = [path stringByDeletingLastPathComponent]; 44 | } 45 | 46 | return path; 47 | } 48 | 49 | NSArray *loadPlugins() { 50 | NSString *pluginPath = [[NSBundle mainBundle] builtInPlugInsPath]; 51 | NSArray *bundlePaths = [NSArray array]; 52 | if (pluginPath != nil) { 53 | bundlePaths =[NSBundle pathsForResourcesOfType:@"bundle" 54 | inDirectory:pluginPath]; 55 | } 56 | NSMutableArray *pluginObjectArrays = [NSMutableArray array]; 57 | NSEnumerator *enumerator = [bundlePaths objectEnumerator]; 58 | NSString *path; 59 | while ((path = (NSString*)[enumerator nextObject])) { 60 | NSBundle* bundle =[NSBundle bundleWithPath:path]; 61 | Class pClass =[bundle principalClass]; 62 | if ([pClass conformsToProtocol:@protocol(CD2PluginProtocolV1)] && [pClass isKindOfClass:[NSObject class]]) { 63 | [pluginObjectArrays addObject:[[[pClass alloc]init]autorelease]]; 64 | } 65 | } 66 | 67 | return pluginObjectArrays; 68 | } 69 | 70 | int main(int argc, char *argv[]) { 71 | id pool = [[NSAutoreleasePool alloc] init]; 72 | 73 | NSString *path; 74 | @try { 75 | path = getPathToFrontFinderWindow(); 76 | } 77 | @catch (id ex) { 78 | path =[@"~/Desktop" stringByExpandingTildeInPath]; 79 | } 80 | 81 | NSArray *plugins = loadPlugins(); 82 | 83 | NSEnumerator *enumerator = [plugins objectEnumerator]; 84 | id plugin; 85 | while ((plugin = (id )[enumerator nextObject])) { 86 | [plugin openTermWindowForPath:path]; 87 | } 88 | 89 | [pool release]; 90 | return 0; 91 | } 92 | -------------------------------------------------------------------------------- /plugins/hyper/hyper.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 69449D220B894B9700A19631 /* CD2Hyper.m in Sources */ = {isa = PBXBuildFile; fileRef = 69449D210B894B9700A19631 /* CD2Hyper.m */; }; 11 | 69C8AA01106E885400C4DE0D /* ScriptingBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69C8AA00106E885400C4DE0D /* ScriptingBridge.framework */; }; 12 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 13 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 14 | /* End PBXBuildFile section */ 15 | 16 | /* Begin PBXFileReference section */ 17 | 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 18 | 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 19 | 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 20 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 21 | 69449D200B894B9700A19631 /* CD2Hyper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CD2Hyper.h; sourceTree = ""; }; 22 | 69449D210B894B9700A19631 /* CD2Hyper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CD2Hyper.m; sourceTree = ""; }; 23 | 69449D270B894BAA00A19631 /* CD2PluginProtocolV1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CD2PluginProtocolV1.h; path = ../CD2PluginProtocolV1.h; sourceTree = SOURCE_ROOT; }; 24 | 69C8AA00106E885400C4DE0D /* ScriptingBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScriptingBridge.framework; path = /System/Library/Frameworks/ScriptingBridge.framework; sourceTree = ""; }; 25 | 8D5B49B6048680CD000E48DA /* hyper.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = hyper.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 26 | 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 27 | D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 28 | /* End PBXFileReference section */ 29 | 30 | /* Begin PBXFrameworksBuildPhase section */ 31 | 8D5B49B3048680CD000E48DA /* Frameworks */ = { 32 | isa = PBXFrameworksBuildPhase; 33 | buildActionMask = 2147483647; 34 | files = ( 35 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, 36 | 69C8AA01106E885400C4DE0D /* ScriptingBridge.framework in Frameworks */, 37 | ); 38 | runOnlyForDeploymentPostprocessing = 0; 39 | }; 40 | /* End PBXFrameworksBuildPhase section */ 41 | 42 | /* Begin PBXGroup section */ 43 | 089C166AFE841209C02AAC07 /* hyper */ = { 44 | isa = PBXGroup; 45 | children = ( 46 | 69449D270B894BAA00A19631 /* CD2PluginProtocolV1.h */, 47 | 08FB77AFFE84173DC02AAC07 /* Classes */, 48 | 089C167CFE841241C02AAC07 /* Resources */, 49 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 50 | 19C28FB8FE9D52D311CA2CBB /* Products */, 51 | ); 52 | name = hyper; 53 | sourceTree = ""; 54 | }; 55 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { 56 | isa = PBXGroup; 57 | children = ( 58 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 59 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, 60 | ); 61 | name = "Frameworks and Libraries"; 62 | sourceTree = ""; 63 | }; 64 | 089C167CFE841241C02AAC07 /* Resources */ = { 65 | isa = PBXGroup; 66 | children = ( 67 | 8D5B49B7048680CD000E48DA /* Info.plist */, 68 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */, 69 | ); 70 | name = Resources; 71 | sourceTree = ""; 72 | }; 73 | 08FB77AFFE84173DC02AAC07 /* Classes */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 69449D200B894B9700A19631 /* CD2Hyper.h */, 77 | 69449D210B894B9700A19631 /* CD2Hyper.m */, 78 | ); 79 | name = Classes; 80 | sourceTree = ""; 81 | }; 82 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, 86 | 69C8AA00106E885400C4DE0D /* ScriptingBridge.framework */, 87 | ); 88 | name = "Linked Frameworks"; 89 | sourceTree = ""; 90 | }; 91 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { 92 | isa = PBXGroup; 93 | children = ( 94 | 089C167FFE841241C02AAC07 /* AppKit.framework */, 95 | D2F7E65807B2D6F200F64583 /* CoreData.framework */, 96 | 089C1672FE841209C02AAC07 /* Foundation.framework */, 97 | ); 98 | name = "Other Frameworks"; 99 | sourceTree = ""; 100 | }; 101 | 19C28FB8FE9D52D311CA2CBB /* Products */ = { 102 | isa = PBXGroup; 103 | children = ( 104 | 8D5B49B6048680CD000E48DA /* hyper.bundle */, 105 | ); 106 | name = Products; 107 | sourceTree = ""; 108 | }; 109 | /* End PBXGroup section */ 110 | 111 | /* Begin PBXNativeTarget section */ 112 | 8D5B49AC048680CD000E48DA /* hyper */ = { 113 | isa = PBXNativeTarget; 114 | buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "hyper" */; 115 | buildPhases = ( 116 | 8D5B49AF048680CD000E48DA /* Resources */, 117 | 8D5B49B1048680CD000E48DA /* Sources */, 118 | 8D5B49B3048680CD000E48DA /* Frameworks */, 119 | ); 120 | buildRules = ( 121 | ); 122 | dependencies = ( 123 | ); 124 | name = hyper; 125 | productInstallPath = "$(HOME)/Library/Bundles"; 126 | productName = hyper; 127 | productReference = 8D5B49B6048680CD000E48DA /* hyper.bundle */; 128 | productType = "com.apple.product-type.bundle"; 129 | }; 130 | /* End PBXNativeTarget section */ 131 | 132 | /* Begin PBXProject section */ 133 | 089C1669FE841209C02AAC07 /* Project object */ = { 134 | isa = PBXProject; 135 | attributes = { 136 | LastUpgradeCheck = 0800; 137 | TargetAttributes = { 138 | 8D5B49AC048680CD000E48DA = { 139 | DevelopmentTeam = 5567X9EQ9Q; 140 | ProvisioningStyle = Manual; 141 | }; 142 | }; 143 | }; 144 | buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "hyper" */; 145 | compatibilityVersion = "Xcode 3.2"; 146 | developmentRegion = English; 147 | hasScannedForEncodings = 1; 148 | knownRegions = ( 149 | en, 150 | ); 151 | mainGroup = 089C166AFE841209C02AAC07 /* hyper */; 152 | projectDirPath = ""; 153 | projectRoot = ""; 154 | targets = ( 155 | 8D5B49AC048680CD000E48DA /* hyper */, 156 | ); 157 | }; 158 | /* End PBXProject section */ 159 | 160 | /* Begin PBXResourcesBuildPhase section */ 161 | 8D5B49AF048680CD000E48DA /* Resources */ = { 162 | isa = PBXResourcesBuildPhase; 163 | buildActionMask = 2147483647; 164 | files = ( 165 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, 166 | ); 167 | runOnlyForDeploymentPostprocessing = 0; 168 | }; 169 | /* End PBXResourcesBuildPhase section */ 170 | 171 | /* Begin PBXSourcesBuildPhase section */ 172 | 8D5B49B1048680CD000E48DA /* Sources */ = { 173 | isa = PBXSourcesBuildPhase; 174 | buildActionMask = 2147483647; 175 | files = ( 176 | 69449D220B894B9700A19631 /* CD2Hyper.m in Sources */, 177 | ); 178 | runOnlyForDeploymentPostprocessing = 0; 179 | }; 180 | /* End PBXSourcesBuildPhase section */ 181 | 182 | /* Begin PBXVariantGroup section */ 183 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { 184 | isa = PBXVariantGroup; 185 | children = ( 186 | 089C167EFE841241C02AAC07 /* English */, 187 | ); 188 | name = InfoPlist.strings; 189 | sourceTree = ""; 190 | }; 191 | /* End PBXVariantGroup section */ 192 | 193 | /* Begin XCBuildConfiguration section */ 194 | 1DEB913B08733D840010E9CD /* Debug */ = { 195 | isa = XCBuildConfiguration; 196 | buildSettings = { 197 | COMBINE_HIDPI_IMAGES = YES; 198 | COPY_PHASE_STRIP = NO; 199 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 200 | GCC_DYNAMIC_NO_PIC = NO; 201 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 202 | GCC_MODEL_TUNING = G5; 203 | GCC_OPTIMIZATION_LEVEL = 0; 204 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 205 | INFOPLIST_FILE = Info.plist; 206 | INSTALL_PATH = /unsigned/plugins; 207 | PRODUCT_BUNDLE_IDENTIFIER = indy.jt.cdto.plugin.hyper; 208 | PRODUCT_NAME = hyper; 209 | WRAPPER_EXTENSION = bundle; 210 | ZERO_LINK = YES; 211 | }; 212 | name = Debug; 213 | }; 214 | 1DEB913C08733D840010E9CD /* Release */ = { 215 | isa = XCBuildConfiguration; 216 | buildSettings = { 217 | COMBINE_HIDPI_IMAGES = YES; 218 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 219 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 220 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 221 | GCC_MODEL_TUNING = G5; 222 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 223 | INFOPLIST_FILE = Info.plist; 224 | INSTALL_PATH = /unsigned/plugins; 225 | PRODUCT_BUNDLE_IDENTIFIER = indy.jt.cdto.plugin.hyper; 226 | PRODUCT_NAME = hyper; 227 | WRAPPER_EXTENSION = bundle; 228 | }; 229 | name = Release; 230 | }; 231 | 1DEB913F08733D840010E9CD /* Debug */ = { 232 | isa = XCBuildConfiguration; 233 | buildSettings = { 234 | CLANG_WARN_BOOL_CONVERSION = YES; 235 | CLANG_WARN_CONSTANT_CONVERSION = YES; 236 | CLANG_WARN_EMPTY_BODY = YES; 237 | CLANG_WARN_ENUM_CONVERSION = YES; 238 | CLANG_WARN_INFINITE_RECURSION = YES; 239 | CLANG_WARN_INT_CONVERSION = YES; 240 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 241 | CLANG_WARN_UNREACHABLE_CODE = YES; 242 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 243 | CODE_SIGN_IDENTITY = "Developer ID Application"; 244 | ENABLE_STRICT_OBJC_MSGSEND = YES; 245 | ENABLE_TESTABILITY = YES; 246 | GCC_NO_COMMON_BLOCKS = YES; 247 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 248 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 249 | GCC_WARN_UNDECLARED_SELECTOR = YES; 250 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 251 | GCC_WARN_UNUSED_FUNCTION = YES; 252 | GCC_WARN_UNUSED_VARIABLE = YES; 253 | ONLY_ACTIVE_ARCH = YES; 254 | SDKROOT = macosx; 255 | }; 256 | name = Debug; 257 | }; 258 | 1DEB914008733D840010E9CD /* Release */ = { 259 | isa = XCBuildConfiguration; 260 | buildSettings = { 261 | CLANG_WARN_BOOL_CONVERSION = YES; 262 | CLANG_WARN_CONSTANT_CONVERSION = YES; 263 | CLANG_WARN_EMPTY_BODY = YES; 264 | CLANG_WARN_ENUM_CONVERSION = YES; 265 | CLANG_WARN_INFINITE_RECURSION = YES; 266 | CLANG_WARN_INT_CONVERSION = YES; 267 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 268 | CLANG_WARN_UNREACHABLE_CODE = YES; 269 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 270 | CODE_SIGN_IDENTITY = "Developer ID Application"; 271 | ENABLE_STRICT_OBJC_MSGSEND = YES; 272 | GCC_NO_COMMON_BLOCKS = YES; 273 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 274 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 275 | GCC_WARN_UNDECLARED_SELECTOR = YES; 276 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 277 | GCC_WARN_UNUSED_FUNCTION = YES; 278 | GCC_WARN_UNUSED_VARIABLE = YES; 279 | SDKROOT = macosx; 280 | }; 281 | name = Release; 282 | }; 283 | /* End XCBuildConfiguration section */ 284 | 285 | /* Begin XCConfigurationList section */ 286 | 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "hyper" */ = { 287 | isa = XCConfigurationList; 288 | buildConfigurations = ( 289 | 1DEB913B08733D840010E9CD /* Debug */, 290 | 1DEB913C08733D840010E9CD /* Release */, 291 | ); 292 | defaultConfigurationIsVisible = 0; 293 | defaultConfigurationName = Release; 294 | }; 295 | 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "hyper" */ = { 296 | isa = XCConfigurationList; 297 | buildConfigurations = ( 298 | 1DEB913F08733D840010E9CD /* Debug */, 299 | 1DEB914008733D840010E9CD /* Release */, 300 | ); 301 | defaultConfigurationIsVisible = 0; 302 | defaultConfigurationName = Release; 303 | }; 304 | /* End XCConfigurationList section */ 305 | }; 306 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 307 | } 308 | -------------------------------------------------------------------------------- /plugins/iterm/iterm.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 69449D220B894B9700A19631 /* CD2ITerm.m in Sources */ = {isa = PBXBuildFile; fileRef = 69449D210B894B9700A19631 /* CD2ITerm.m */; }; 11 | 69C8AA01106E885400C4DE0D /* ScriptingBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69C8AA00106E885400C4DE0D /* ScriptingBridge.framework */; }; 12 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 13 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 14 | /* End PBXBuildFile section */ 15 | 16 | /* Begin PBXFileReference section */ 17 | 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 18 | 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 19 | 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 20 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 21 | 69449D200B894B9700A19631 /* CD2ITerm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CD2ITerm.h; sourceTree = ""; }; 22 | 69449D210B894B9700A19631 /* CD2ITerm.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CD2ITerm.m; sourceTree = ""; }; 23 | 69449D270B894BAA00A19631 /* CD2PluginProtocolV1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CD2PluginProtocolV1.h; path = ../CD2PluginProtocolV1.h; sourceTree = SOURCE_ROOT; }; 24 | 69C8AA00106E885400C4DE0D /* ScriptingBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScriptingBridge.framework; path = /System/Library/Frameworks/ScriptingBridge.framework; sourceTree = ""; }; 25 | 8D5B49B6048680CD000E48DA /* iterm.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = iterm.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 26 | 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 27 | D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 28 | /* End PBXFileReference section */ 29 | 30 | /* Begin PBXFrameworksBuildPhase section */ 31 | 8D5B49B3048680CD000E48DA /* Frameworks */ = { 32 | isa = PBXFrameworksBuildPhase; 33 | buildActionMask = 2147483647; 34 | files = ( 35 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, 36 | 69C8AA01106E885400C4DE0D /* ScriptingBridge.framework in Frameworks */, 37 | ); 38 | runOnlyForDeploymentPostprocessing = 0; 39 | }; 40 | /* End PBXFrameworksBuildPhase section */ 41 | 42 | /* Begin PBXGroup section */ 43 | 089C166AFE841209C02AAC07 /* iterm */ = { 44 | isa = PBXGroup; 45 | children = ( 46 | 69449D270B894BAA00A19631 /* CD2PluginProtocolV1.h */, 47 | 08FB77AFFE84173DC02AAC07 /* Classes */, 48 | 089C167CFE841241C02AAC07 /* Resources */, 49 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 50 | 19C28FB8FE9D52D311CA2CBB /* Products */, 51 | ); 52 | name = iterm; 53 | sourceTree = ""; 54 | }; 55 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { 56 | isa = PBXGroup; 57 | children = ( 58 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 59 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, 60 | ); 61 | name = "Frameworks and Libraries"; 62 | sourceTree = ""; 63 | }; 64 | 089C167CFE841241C02AAC07 /* Resources */ = { 65 | isa = PBXGroup; 66 | children = ( 67 | 8D5B49B7048680CD000E48DA /* Info.plist */, 68 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */, 69 | ); 70 | name = Resources; 71 | sourceTree = ""; 72 | }; 73 | 08FB77AFFE84173DC02AAC07 /* Classes */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 69449D200B894B9700A19631 /* CD2ITerm.h */, 77 | 69449D210B894B9700A19631 /* CD2ITerm.m */, 78 | ); 79 | name = Classes; 80 | sourceTree = ""; 81 | }; 82 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, 86 | 69C8AA00106E885400C4DE0D /* ScriptingBridge.framework */, 87 | ); 88 | name = "Linked Frameworks"; 89 | sourceTree = ""; 90 | }; 91 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { 92 | isa = PBXGroup; 93 | children = ( 94 | 089C167FFE841241C02AAC07 /* AppKit.framework */, 95 | D2F7E65807B2D6F200F64583 /* CoreData.framework */, 96 | 089C1672FE841209C02AAC07 /* Foundation.framework */, 97 | ); 98 | name = "Other Frameworks"; 99 | sourceTree = ""; 100 | }; 101 | 19C28FB8FE9D52D311CA2CBB /* Products */ = { 102 | isa = PBXGroup; 103 | children = ( 104 | 8D5B49B6048680CD000E48DA /* iterm.bundle */, 105 | ); 106 | name = Products; 107 | sourceTree = ""; 108 | }; 109 | /* End PBXGroup section */ 110 | 111 | /* Begin PBXNativeTarget section */ 112 | 8D5B49AC048680CD000E48DA /* iterm */ = { 113 | isa = PBXNativeTarget; 114 | buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "iterm" */; 115 | buildPhases = ( 116 | 8D5B49AF048680CD000E48DA /* Resources */, 117 | 8D5B49B1048680CD000E48DA /* Sources */, 118 | 8D5B49B3048680CD000E48DA /* Frameworks */, 119 | ); 120 | buildRules = ( 121 | ); 122 | dependencies = ( 123 | ); 124 | name = iterm; 125 | productInstallPath = "$(HOME)/Library/Bundles"; 126 | productName = iterm; 127 | productReference = 8D5B49B6048680CD000E48DA /* iterm.bundle */; 128 | productType = "com.apple.product-type.bundle"; 129 | }; 130 | /* End PBXNativeTarget section */ 131 | 132 | /* Begin PBXProject section */ 133 | 089C1669FE841209C02AAC07 /* Project object */ = { 134 | isa = PBXProject; 135 | attributes = { 136 | LastUpgradeCheck = 0800; 137 | TargetAttributes = { 138 | 8D5B49AC048680CD000E48DA = { 139 | DevelopmentTeam = 5567X9EQ9Q; 140 | ProvisioningStyle = Manual; 141 | }; 142 | }; 143 | }; 144 | buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "iterm" */; 145 | compatibilityVersion = "Xcode 3.2"; 146 | developmentRegion = English; 147 | hasScannedForEncodings = 1; 148 | knownRegions = ( 149 | en, 150 | ); 151 | mainGroup = 089C166AFE841209C02AAC07 /* iterm */; 152 | projectDirPath = ""; 153 | projectRoot = ""; 154 | targets = ( 155 | 8D5B49AC048680CD000E48DA /* iterm */, 156 | ); 157 | }; 158 | /* End PBXProject section */ 159 | 160 | /* Begin PBXResourcesBuildPhase section */ 161 | 8D5B49AF048680CD000E48DA /* Resources */ = { 162 | isa = PBXResourcesBuildPhase; 163 | buildActionMask = 2147483647; 164 | files = ( 165 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, 166 | ); 167 | runOnlyForDeploymentPostprocessing = 0; 168 | }; 169 | /* End PBXResourcesBuildPhase section */ 170 | 171 | /* Begin PBXSourcesBuildPhase section */ 172 | 8D5B49B1048680CD000E48DA /* Sources */ = { 173 | isa = PBXSourcesBuildPhase; 174 | buildActionMask = 2147483647; 175 | files = ( 176 | 69449D220B894B9700A19631 /* CD2ITerm.m in Sources */, 177 | ); 178 | runOnlyForDeploymentPostprocessing = 0; 179 | }; 180 | /* End PBXSourcesBuildPhase section */ 181 | 182 | /* Begin PBXVariantGroup section */ 183 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { 184 | isa = PBXVariantGroup; 185 | children = ( 186 | 089C167EFE841241C02AAC07 /* English */, 187 | ); 188 | name = InfoPlist.strings; 189 | sourceTree = ""; 190 | }; 191 | /* End PBXVariantGroup section */ 192 | 193 | /* Begin XCBuildConfiguration section */ 194 | 1DEB913B08733D840010E9CD /* Debug */ = { 195 | isa = XCBuildConfiguration; 196 | buildSettings = { 197 | COMBINE_HIDPI_IMAGES = YES; 198 | COPY_PHASE_STRIP = NO; 199 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 200 | GCC_DYNAMIC_NO_PIC = NO; 201 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 202 | GCC_MODEL_TUNING = G5; 203 | GCC_OPTIMIZATION_LEVEL = 0; 204 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 205 | INFOPLIST_FILE = Info.plist; 206 | INSTALL_PATH = /unsigned/plugins; 207 | PRODUCT_BUNDLE_IDENTIFIER = indy.jt.cdto.plugin.iterm; 208 | PRODUCT_NAME = iterm; 209 | WRAPPER_EXTENSION = bundle; 210 | ZERO_LINK = YES; 211 | }; 212 | name = Debug; 213 | }; 214 | 1DEB913C08733D840010E9CD /* Release */ = { 215 | isa = XCBuildConfiguration; 216 | buildSettings = { 217 | COMBINE_HIDPI_IMAGES = YES; 218 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 219 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 220 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 221 | GCC_MODEL_TUNING = G5; 222 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 223 | INFOPLIST_FILE = Info.plist; 224 | INSTALL_PATH = /unsigned/plugins; 225 | PRODUCT_BUNDLE_IDENTIFIER = indy.jt.cdto.plugin.iterm; 226 | PRODUCT_NAME = iterm; 227 | WRAPPER_EXTENSION = bundle; 228 | }; 229 | name = Release; 230 | }; 231 | 1DEB913F08733D840010E9CD /* Debug */ = { 232 | isa = XCBuildConfiguration; 233 | buildSettings = { 234 | CLANG_WARN_BOOL_CONVERSION = YES; 235 | CLANG_WARN_CONSTANT_CONVERSION = YES; 236 | CLANG_WARN_EMPTY_BODY = YES; 237 | CLANG_WARN_ENUM_CONVERSION = YES; 238 | CLANG_WARN_INFINITE_RECURSION = YES; 239 | CLANG_WARN_INT_CONVERSION = YES; 240 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 241 | CLANG_WARN_UNREACHABLE_CODE = YES; 242 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 243 | CODE_SIGN_IDENTITY = "Developer ID Application"; 244 | ENABLE_STRICT_OBJC_MSGSEND = YES; 245 | ENABLE_TESTABILITY = YES; 246 | GCC_NO_COMMON_BLOCKS = YES; 247 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 248 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 249 | GCC_WARN_UNDECLARED_SELECTOR = YES; 250 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 251 | GCC_WARN_UNUSED_FUNCTION = YES; 252 | GCC_WARN_UNUSED_VARIABLE = YES; 253 | ONLY_ACTIVE_ARCH = YES; 254 | SDKROOT = macosx; 255 | }; 256 | name = Debug; 257 | }; 258 | 1DEB914008733D840010E9CD /* Release */ = { 259 | isa = XCBuildConfiguration; 260 | buildSettings = { 261 | CLANG_WARN_BOOL_CONVERSION = YES; 262 | CLANG_WARN_CONSTANT_CONVERSION = YES; 263 | CLANG_WARN_EMPTY_BODY = YES; 264 | CLANG_WARN_ENUM_CONVERSION = YES; 265 | CLANG_WARN_INFINITE_RECURSION = YES; 266 | CLANG_WARN_INT_CONVERSION = YES; 267 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 268 | CLANG_WARN_UNREACHABLE_CODE = YES; 269 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 270 | CODE_SIGN_IDENTITY = "Developer ID Application"; 271 | ENABLE_STRICT_OBJC_MSGSEND = YES; 272 | GCC_NO_COMMON_BLOCKS = YES; 273 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 274 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 275 | GCC_WARN_UNDECLARED_SELECTOR = YES; 276 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 277 | GCC_WARN_UNUSED_FUNCTION = YES; 278 | GCC_WARN_UNUSED_VARIABLE = YES; 279 | SDKROOT = macosx; 280 | }; 281 | name = Release; 282 | }; 283 | /* End XCBuildConfiguration section */ 284 | 285 | /* Begin XCConfigurationList section */ 286 | 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "iterm" */ = { 287 | isa = XCConfigurationList; 288 | buildConfigurations = ( 289 | 1DEB913B08733D840010E9CD /* Debug */, 290 | 1DEB913C08733D840010E9CD /* Release */, 291 | ); 292 | defaultConfigurationIsVisible = 0; 293 | defaultConfigurationName = Release; 294 | }; 295 | 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "iterm" */ = { 296 | isa = XCConfigurationList; 297 | buildConfigurations = ( 298 | 1DEB913F08733D840010E9CD /* Debug */, 299 | 1DEB914008733D840010E9CD /* Release */, 300 | ); 301 | defaultConfigurationIsVisible = 0; 302 | defaultConfigurationName = Release; 303 | }; 304 | /* End XCConfigurationList section */ 305 | }; 306 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 307 | } 308 | -------------------------------------------------------------------------------- /plugins/X11_xterm/X11_xterm.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 69449BC10B8925F900A19631 /* CD2X11XTermPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 69449BC00B8925F900A19631 /* CD2X11XTermPlugin.m */; }; 11 | 69449BDC0B892AF300A19631 /* LaunchXTerm.sh in Resources */ = {isa = PBXBuildFile; fileRef = 69449BDB0B892AF300A19631 /* LaunchXTerm.sh */; }; 12 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 13 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 14 | /* End PBXBuildFile section */ 15 | 16 | /* Begin PBXFileReference section */ 17 | 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 18 | 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 19 | 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 20 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 21 | 69449BBF0B8925F900A19631 /* CD2X11XTermPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CD2X11XTermPlugin.h; sourceTree = ""; }; 22 | 69449BC00B8925F900A19631 /* CD2X11XTermPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CD2X11XTermPlugin.m; sourceTree = ""; }; 23 | 69449BC50B89260700A19631 /* CD2PluginProtocolV1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CD2PluginProtocolV1.h; path = ../CD2PluginProtocolV1.h; sourceTree = SOURCE_ROOT; }; 24 | 69449BDB0B892AF300A19631 /* LaunchXTerm.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = LaunchXTerm.sh; sourceTree = ""; }; 25 | 8D5B49B6048680CD000E48DA /* X11_xterm.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = X11_xterm.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 26 | 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 27 | D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 28 | /* End PBXFileReference section */ 29 | 30 | /* Begin PBXFrameworksBuildPhase section */ 31 | 8D5B49B3048680CD000E48DA /* Frameworks */ = { 32 | isa = PBXFrameworksBuildPhase; 33 | buildActionMask = 2147483647; 34 | files = ( 35 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, 36 | ); 37 | runOnlyForDeploymentPostprocessing = 0; 38 | }; 39 | /* End PBXFrameworksBuildPhase section */ 40 | 41 | /* Begin PBXGroup section */ 42 | 089C166AFE841209C02AAC07 /* X11_xterm */ = { 43 | isa = PBXGroup; 44 | children = ( 45 | 69449BC50B89260700A19631 /* CD2PluginProtocolV1.h */, 46 | 08FB77AFFE84173DC02AAC07 /* Classes */, 47 | 089C167CFE841241C02AAC07 /* Resources */, 48 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 49 | 19C28FB8FE9D52D311CA2CBB /* Products */, 50 | ); 51 | name = X11_xterm; 52 | sourceTree = ""; 53 | }; 54 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { 55 | isa = PBXGroup; 56 | children = ( 57 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 58 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, 59 | ); 60 | name = "Frameworks and Libraries"; 61 | sourceTree = ""; 62 | }; 63 | 089C167CFE841241C02AAC07 /* Resources */ = { 64 | isa = PBXGroup; 65 | children = ( 66 | 8D5B49B7048680CD000E48DA /* Info.plist */, 67 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */, 68 | 69449BDB0B892AF300A19631 /* LaunchXTerm.sh */, 69 | ); 70 | name = Resources; 71 | sourceTree = ""; 72 | }; 73 | 08FB77AFFE84173DC02AAC07 /* Classes */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 69449BBF0B8925F900A19631 /* CD2X11XTermPlugin.h */, 77 | 69449BC00B8925F900A19631 /* CD2X11XTermPlugin.m */, 78 | ); 79 | name = Classes; 80 | sourceTree = ""; 81 | }; 82 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, 86 | ); 87 | name = "Linked Frameworks"; 88 | sourceTree = ""; 89 | }; 90 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 089C167FFE841241C02AAC07 /* AppKit.framework */, 94 | D2F7E65807B2D6F200F64583 /* CoreData.framework */, 95 | 089C1672FE841209C02AAC07 /* Foundation.framework */, 96 | ); 97 | name = "Other Frameworks"; 98 | sourceTree = ""; 99 | }; 100 | 19C28FB8FE9D52D311CA2CBB /* Products */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | 8D5B49B6048680CD000E48DA /* X11_xterm.bundle */, 104 | ); 105 | name = Products; 106 | sourceTree = ""; 107 | }; 108 | /* End PBXGroup section */ 109 | 110 | /* Begin PBXNativeTarget section */ 111 | 8D5B49AC048680CD000E48DA /* X11_xterm */ = { 112 | isa = PBXNativeTarget; 113 | buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "X11_xterm" */; 114 | buildPhases = ( 115 | 8D5B49AF048680CD000E48DA /* Resources */, 116 | 8D5B49B1048680CD000E48DA /* Sources */, 117 | 8D5B49B3048680CD000E48DA /* Frameworks */, 118 | ); 119 | buildRules = ( 120 | ); 121 | dependencies = ( 122 | ); 123 | name = X11_xterm; 124 | productInstallPath = "$(HOME)/Library/Bundles"; 125 | productName = X11_xterm; 126 | productReference = 8D5B49B6048680CD000E48DA /* X11_xterm.bundle */; 127 | productType = "com.apple.product-type.bundle"; 128 | }; 129 | /* End PBXNativeTarget section */ 130 | 131 | /* Begin PBXProject section */ 132 | 089C1669FE841209C02AAC07 /* Project object */ = { 133 | isa = PBXProject; 134 | attributes = { 135 | LastUpgradeCheck = 0800; 136 | TargetAttributes = { 137 | 8D5B49AC048680CD000E48DA = { 138 | DevelopmentTeam = 5567X9EQ9Q; 139 | ProvisioningStyle = Manual; 140 | }; 141 | }; 142 | }; 143 | buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "X11_xterm" */; 144 | compatibilityVersion = "Xcode 3.2"; 145 | developmentRegion = English; 146 | hasScannedForEncodings = 1; 147 | knownRegions = ( 148 | en, 149 | ); 150 | mainGroup = 089C166AFE841209C02AAC07 /* X11_xterm */; 151 | projectDirPath = ""; 152 | projectRoot = ""; 153 | targets = ( 154 | 8D5B49AC048680CD000E48DA /* X11_xterm */, 155 | ); 156 | }; 157 | /* End PBXProject section */ 158 | 159 | /* Begin PBXResourcesBuildPhase section */ 160 | 8D5B49AF048680CD000E48DA /* Resources */ = { 161 | isa = PBXResourcesBuildPhase; 162 | buildActionMask = 2147483647; 163 | files = ( 164 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, 165 | 69449BDC0B892AF300A19631 /* LaunchXTerm.sh in Resources */, 166 | ); 167 | runOnlyForDeploymentPostprocessing = 0; 168 | }; 169 | /* End PBXResourcesBuildPhase section */ 170 | 171 | /* Begin PBXSourcesBuildPhase section */ 172 | 8D5B49B1048680CD000E48DA /* Sources */ = { 173 | isa = PBXSourcesBuildPhase; 174 | buildActionMask = 2147483647; 175 | files = ( 176 | 69449BC10B8925F900A19631 /* CD2X11XTermPlugin.m in Sources */, 177 | ); 178 | runOnlyForDeploymentPostprocessing = 0; 179 | }; 180 | /* End PBXSourcesBuildPhase section */ 181 | 182 | /* Begin PBXVariantGroup section */ 183 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { 184 | isa = PBXVariantGroup; 185 | children = ( 186 | 089C167EFE841241C02AAC07 /* English */, 187 | ); 188 | name = InfoPlist.strings; 189 | sourceTree = ""; 190 | }; 191 | /* End PBXVariantGroup section */ 192 | 193 | /* Begin XCBuildConfiguration section */ 194 | 1DEB913B08733D840010E9CD /* Debug */ = { 195 | isa = XCBuildConfiguration; 196 | buildSettings = { 197 | COMBINE_HIDPI_IMAGES = YES; 198 | COPY_PHASE_STRIP = NO; 199 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 200 | GCC_DYNAMIC_NO_PIC = NO; 201 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 202 | GCC_MODEL_TUNING = G5; 203 | GCC_OPTIMIZATION_LEVEL = 0; 204 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 205 | INFOPLIST_FILE = Info.plist; 206 | INSTALL_PATH = /unsigned/plugins; 207 | PRODUCT_BUNDLE_IDENTIFIER = indy.jt.cdto.plugin.x11xterm; 208 | PRODUCT_NAME = X11_xterm; 209 | WRAPPER_EXTENSION = bundle; 210 | ZERO_LINK = YES; 211 | }; 212 | name = Debug; 213 | }; 214 | 1DEB913C08733D840010E9CD /* Release */ = { 215 | isa = XCBuildConfiguration; 216 | buildSettings = { 217 | COMBINE_HIDPI_IMAGES = YES; 218 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 219 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 220 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 221 | GCC_MODEL_TUNING = G5; 222 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 223 | INFOPLIST_FILE = Info.plist; 224 | INSTALL_PATH = /unsigned/plugins; 225 | PRODUCT_BUNDLE_IDENTIFIER = indy.jt.cdto.plugin.x11xterm; 226 | PRODUCT_NAME = X11_xterm; 227 | WRAPPER_EXTENSION = bundle; 228 | }; 229 | name = Release; 230 | }; 231 | 1DEB913F08733D840010E9CD /* Debug */ = { 232 | isa = XCBuildConfiguration; 233 | buildSettings = { 234 | CLANG_WARN_BOOL_CONVERSION = YES; 235 | CLANG_WARN_CONSTANT_CONVERSION = YES; 236 | CLANG_WARN_EMPTY_BODY = YES; 237 | CLANG_WARN_ENUM_CONVERSION = YES; 238 | CLANG_WARN_INFINITE_RECURSION = YES; 239 | CLANG_WARN_INT_CONVERSION = YES; 240 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 241 | CLANG_WARN_UNREACHABLE_CODE = YES; 242 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 243 | CODE_SIGN_IDENTITY = "Developer ID Application"; 244 | ENABLE_STRICT_OBJC_MSGSEND = YES; 245 | ENABLE_TESTABILITY = YES; 246 | GCC_NO_COMMON_BLOCKS = YES; 247 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 248 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 249 | GCC_WARN_UNDECLARED_SELECTOR = YES; 250 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 251 | GCC_WARN_UNUSED_FUNCTION = YES; 252 | GCC_WARN_UNUSED_VARIABLE = YES; 253 | ONLY_ACTIVE_ARCH = YES; 254 | SDKROOT = macosx; 255 | }; 256 | name = Debug; 257 | }; 258 | 1DEB914008733D840010E9CD /* Release */ = { 259 | isa = XCBuildConfiguration; 260 | buildSettings = { 261 | CLANG_WARN_BOOL_CONVERSION = YES; 262 | CLANG_WARN_CONSTANT_CONVERSION = YES; 263 | CLANG_WARN_EMPTY_BODY = YES; 264 | CLANG_WARN_ENUM_CONVERSION = YES; 265 | CLANG_WARN_INFINITE_RECURSION = YES; 266 | CLANG_WARN_INT_CONVERSION = YES; 267 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 268 | CLANG_WARN_UNREACHABLE_CODE = YES; 269 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 270 | CODE_SIGN_IDENTITY = "Developer ID Application"; 271 | ENABLE_STRICT_OBJC_MSGSEND = YES; 272 | GCC_NO_COMMON_BLOCKS = YES; 273 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 274 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 275 | GCC_WARN_UNDECLARED_SELECTOR = YES; 276 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 277 | GCC_WARN_UNUSED_FUNCTION = YES; 278 | GCC_WARN_UNUSED_VARIABLE = YES; 279 | SDKROOT = macosx; 280 | }; 281 | name = Release; 282 | }; 283 | /* End XCBuildConfiguration section */ 284 | 285 | /* Begin XCConfigurationList section */ 286 | 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "X11_xterm" */ = { 287 | isa = XCConfigurationList; 288 | buildConfigurations = ( 289 | 1DEB913B08733D840010E9CD /* Debug */, 290 | 1DEB913C08733D840010E9CD /* Release */, 291 | ); 292 | defaultConfigurationIsVisible = 0; 293 | defaultConfigurationName = Release; 294 | }; 295 | 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "X11_xterm" */ = { 296 | isa = XCConfigurationList; 297 | buildConfigurations = ( 298 | 1DEB913F08733D840010E9CD /* Debug */, 299 | 1DEB914008733D840010E9CD /* Release */, 300 | ); 301 | defaultConfigurationIsVisible = 0; 302 | defaultConfigurationName = Release; 303 | }; 304 | /* End XCConfigurationList section */ 305 | }; 306 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 307 | } 308 | -------------------------------------------------------------------------------- /plugins/terminal/terminal.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 69449A640B8906BF00A19631 /* CD2Terminal.m in Sources */ = {isa = PBXBuildFile; fileRef = 69449A630B8906BF00A19631 /* CD2Terminal.m */; }; 11 | 69C8A9E6106E871600C4DE0D /* ScriptingBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69C8A9E5106E871600C4DE0D /* ScriptingBridge.framework */; }; 12 | 69C8AAD7106EEAB700C4DE0D /* Terminal.app in Resources */ = {isa = PBXBuildFile; fileRef = 69C8AAD6106EEAB700C4DE0D /* Terminal.app */; }; 13 | 69C8AAD8106EEAC300C4DE0D /* Terminal.app in Sources */ = {isa = PBXBuildFile; fileRef = 69C8AAD6106EEAB700C4DE0D /* Terminal.app */; }; 14 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 15 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 16 | /* End PBXBuildFile section */ 17 | 18 | /* Begin PBXBuildRule section */ 19 | 69C8AACE106EEA1300C4DE0D /* PBXBuildRule */ = { 20 | isa = PBXBuildRule; 21 | compilerSpec = com.apple.compilers.proxy.script; 22 | filePatterns = "*.app"; 23 | fileType = pattern.proxy; 24 | isEditable = 1; 25 | outputFiles = ( 26 | "$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).h", 27 | ); 28 | script = " sdef \"$INPUT_FILE_PATH\" | sdp -fh -o \"$DERIVED_FILES_DIR\" --basename \"$INPUT_FILE_BASE\" --bundleid `defaults read \"$INPUT_FILE_PATH/Contents/Info\" CFBundleIdentifier`"; 29 | }; 30 | /* End PBXBuildRule section */ 31 | 32 | /* Begin PBXFileReference section */ 33 | 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 34 | 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 35 | 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 36 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 37 | 69449A620B8906BF00A19631 /* CD2Terminal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CD2Terminal.h; sourceTree = ""; }; 38 | 69449A630B8906BF00A19631 /* CD2Terminal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CD2Terminal.m; sourceTree = ""; }; 39 | 69449AF80B890BDD00A19631 /* CD2PluginProtocolV1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CD2PluginProtocolV1.h; path = ../CD2PluginProtocolV1.h; sourceTree = SOURCE_ROOT; }; 40 | 69C8A9E5106E871600C4DE0D /* ScriptingBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScriptingBridge.framework; path = /System/Library/Frameworks/ScriptingBridge.framework; sourceTree = ""; }; 41 | 69C8AAD6106EEAB700C4DE0D /* Terminal.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; name = Terminal.app; path = /Applications/Utilities/Terminal.app; sourceTree = ""; }; 42 | 8D5B49B6048680CD000E48DA /* terminal.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = terminal.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 43 | 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 44 | D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 45 | /* End PBXFileReference section */ 46 | 47 | /* Begin PBXFrameworksBuildPhase section */ 48 | 8D5B49B3048680CD000E48DA /* Frameworks */ = { 49 | isa = PBXFrameworksBuildPhase; 50 | buildActionMask = 2147483647; 51 | files = ( 52 | 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, 53 | 69C8A9E6106E871600C4DE0D /* ScriptingBridge.framework in Frameworks */, 54 | ); 55 | runOnlyForDeploymentPostprocessing = 0; 56 | }; 57 | /* End PBXFrameworksBuildPhase section */ 58 | 59 | /* Begin PBXGroup section */ 60 | 089C166AFE841209C02AAC07 /* terminal */ = { 61 | isa = PBXGroup; 62 | children = ( 63 | 69C8AAD6106EEAB700C4DE0D /* Terminal.app */, 64 | 69449AF80B890BDD00A19631 /* CD2PluginProtocolV1.h */, 65 | 08FB77AFFE84173DC02AAC07 /* Classes */, 66 | 089C167CFE841241C02AAC07 /* Resources */, 67 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 68 | 19C28FB8FE9D52D311CA2CBB /* Products */, 69 | ); 70 | name = terminal; 71 | sourceTree = ""; 72 | }; 73 | 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 77 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, 78 | ); 79 | name = "Frameworks and Libraries"; 80 | sourceTree = ""; 81 | }; 82 | 089C167CFE841241C02AAC07 /* Resources */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 8D5B49B7048680CD000E48DA /* Info.plist */, 86 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */, 87 | ); 88 | name = Resources; 89 | sourceTree = ""; 90 | }; 91 | 08FB77AFFE84173DC02AAC07 /* Classes */ = { 92 | isa = PBXGroup; 93 | children = ( 94 | 69449A620B8906BF00A19631 /* CD2Terminal.h */, 95 | 69449A630B8906BF00A19631 /* CD2Terminal.m */, 96 | ); 97 | name = Classes; 98 | sourceTree = ""; 99 | }; 100 | 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, 104 | 69C8A9E5106E871600C4DE0D /* ScriptingBridge.framework */, 105 | ); 106 | name = "Linked Frameworks"; 107 | sourceTree = ""; 108 | }; 109 | 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { 110 | isa = PBXGroup; 111 | children = ( 112 | 089C167FFE841241C02AAC07 /* AppKit.framework */, 113 | D2F7E65807B2D6F200F64583 /* CoreData.framework */, 114 | 089C1672FE841209C02AAC07 /* Foundation.framework */, 115 | ); 116 | name = "Other Frameworks"; 117 | sourceTree = ""; 118 | }; 119 | 19C28FB8FE9D52D311CA2CBB /* Products */ = { 120 | isa = PBXGroup; 121 | children = ( 122 | 8D5B49B6048680CD000E48DA /* terminal.bundle */, 123 | ); 124 | name = Products; 125 | sourceTree = ""; 126 | }; 127 | /* End PBXGroup section */ 128 | 129 | /* Begin PBXNativeTarget section */ 130 | 8D5B49AC048680CD000E48DA /* terminal */ = { 131 | isa = PBXNativeTarget; 132 | buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "terminal" */; 133 | buildPhases = ( 134 | 8D5B49AF048680CD000E48DA /* Resources */, 135 | 8D5B49B1048680CD000E48DA /* Sources */, 136 | 8D5B49B3048680CD000E48DA /* Frameworks */, 137 | ); 138 | buildRules = ( 139 | 69C8AACE106EEA1300C4DE0D /* PBXBuildRule */, 140 | ); 141 | dependencies = ( 142 | ); 143 | name = terminal; 144 | productInstallPath = "$(HOME)/Library/Bundles"; 145 | productName = terminal; 146 | productReference = 8D5B49B6048680CD000E48DA /* terminal.bundle */; 147 | productType = "com.apple.product-type.bundle"; 148 | }; 149 | /* End PBXNativeTarget section */ 150 | 151 | /* Begin PBXProject section */ 152 | 089C1669FE841209C02AAC07 /* Project object */ = { 153 | isa = PBXProject; 154 | attributes = { 155 | LastUpgradeCheck = 0800; 156 | TargetAttributes = { 157 | 8D5B49AC048680CD000E48DA = { 158 | DevelopmentTeam = 5567X9EQ9Q; 159 | ProvisioningStyle = Manual; 160 | }; 161 | }; 162 | }; 163 | buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "terminal" */; 164 | compatibilityVersion = "Xcode 3.2"; 165 | developmentRegion = English; 166 | hasScannedForEncodings = 1; 167 | knownRegions = ( 168 | en, 169 | ); 170 | mainGroup = 089C166AFE841209C02AAC07 /* terminal */; 171 | projectDirPath = ""; 172 | projectRoot = ""; 173 | targets = ( 174 | 8D5B49AC048680CD000E48DA /* terminal */, 175 | ); 176 | }; 177 | /* End PBXProject section */ 178 | 179 | /* Begin PBXResourcesBuildPhase section */ 180 | 8D5B49AF048680CD000E48DA /* Resources */ = { 181 | isa = PBXResourcesBuildPhase; 182 | buildActionMask = 2147483647; 183 | files = ( 184 | 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, 185 | 69C8AAD7106EEAB700C4DE0D /* Terminal.app in Resources */, 186 | ); 187 | runOnlyForDeploymentPostprocessing = 0; 188 | }; 189 | /* End PBXResourcesBuildPhase section */ 190 | 191 | /* Begin PBXSourcesBuildPhase section */ 192 | 8D5B49B1048680CD000E48DA /* Sources */ = { 193 | isa = PBXSourcesBuildPhase; 194 | buildActionMask = 2147483647; 195 | files = ( 196 | 69C8AAD8106EEAC300C4DE0D /* Terminal.app in Sources */, 197 | 69449A640B8906BF00A19631 /* CD2Terminal.m in Sources */, 198 | ); 199 | runOnlyForDeploymentPostprocessing = 0; 200 | }; 201 | /* End PBXSourcesBuildPhase section */ 202 | 203 | /* Begin PBXVariantGroup section */ 204 | 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { 205 | isa = PBXVariantGroup; 206 | children = ( 207 | 089C167EFE841241C02AAC07 /* English */, 208 | ); 209 | name = InfoPlist.strings; 210 | sourceTree = ""; 211 | }; 212 | /* End PBXVariantGroup section */ 213 | 214 | /* Begin XCBuildConfiguration section */ 215 | 1DEB913F08733D840010E9CD /* Debug */ = { 216 | isa = XCBuildConfiguration; 217 | buildSettings = { 218 | CLANG_WARN_BOOL_CONVERSION = YES; 219 | CLANG_WARN_CONSTANT_CONVERSION = YES; 220 | CLANG_WARN_EMPTY_BODY = YES; 221 | CLANG_WARN_ENUM_CONVERSION = YES; 222 | CLANG_WARN_INFINITE_RECURSION = YES; 223 | CLANG_WARN_INT_CONVERSION = YES; 224 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 225 | CLANG_WARN_UNREACHABLE_CODE = YES; 226 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 227 | CODE_SIGN_IDENTITY = "Developer ID Application"; 228 | ENABLE_STRICT_OBJC_MSGSEND = YES; 229 | ENABLE_TESTABILITY = YES; 230 | GCC_NO_COMMON_BLOCKS = YES; 231 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 232 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 233 | GCC_WARN_UNDECLARED_SELECTOR = YES; 234 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 235 | GCC_WARN_UNUSED_FUNCTION = YES; 236 | GCC_WARN_UNUSED_VARIABLE = YES; 237 | INSTALL_PATH = /unsigned/plugins; 238 | ONLY_ACTIVE_ARCH = YES; 239 | SDKROOT = macosx; 240 | }; 241 | name = Debug; 242 | }; 243 | 1DEB914008733D840010E9CD /* Release */ = { 244 | isa = XCBuildConfiguration; 245 | buildSettings = { 246 | CLANG_WARN_BOOL_CONVERSION = YES; 247 | CLANG_WARN_CONSTANT_CONVERSION = YES; 248 | CLANG_WARN_EMPTY_BODY = YES; 249 | CLANG_WARN_ENUM_CONVERSION = YES; 250 | CLANG_WARN_INFINITE_RECURSION = YES; 251 | CLANG_WARN_INT_CONVERSION = YES; 252 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 253 | CLANG_WARN_UNREACHABLE_CODE = YES; 254 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 255 | CODE_SIGN_IDENTITY = "Developer ID Application"; 256 | ENABLE_STRICT_OBJC_MSGSEND = YES; 257 | GCC_NO_COMMON_BLOCKS = YES; 258 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 259 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 260 | GCC_WARN_UNDECLARED_SELECTOR = YES; 261 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 262 | GCC_WARN_UNUSED_FUNCTION = YES; 263 | GCC_WARN_UNUSED_VARIABLE = YES; 264 | INSTALL_PATH = /unsigned/plugins; 265 | SDKROOT = macosx; 266 | }; 267 | name = Release; 268 | }; 269 | 69F8B17F1836008300EC6853 /* Debug */ = { 270 | isa = XCBuildConfiguration; 271 | buildSettings = { 272 | COPY_PHASE_STRIP = NO; 273 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 274 | GCC_DYNAMIC_NO_PIC = NO; 275 | GCC_OPTIMIZATION_LEVEL = 0; 276 | INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; 277 | PRODUCT_NAME = terminal; 278 | }; 279 | name = Debug; 280 | }; 281 | 69F8B1801836008300EC6853 /* Release */ = { 282 | isa = XCBuildConfiguration; 283 | buildSettings = { 284 | COPY_PHASE_STRIP = YES; 285 | DEBUG_INFORMATION_FORMAT = dwarf; 286 | DEVELOPMENT_TEAM = 5567X9EQ9Q; 287 | INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; 288 | PRODUCT_NAME = terminal; 289 | }; 290 | name = Release; 291 | }; 292 | /* End XCBuildConfiguration section */ 293 | 294 | /* Begin XCConfigurationList section */ 295 | 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "terminal" */ = { 296 | isa = XCConfigurationList; 297 | buildConfigurations = ( 298 | 69F8B17F1836008300EC6853 /* Debug */, 299 | 69F8B1801836008300EC6853 /* Release */, 300 | ); 301 | defaultConfigurationIsVisible = 0; 302 | defaultConfigurationName = Release; 303 | }; 304 | 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "terminal" */ = { 305 | isa = XCConfigurationList; 306 | buildConfigurations = ( 307 | 1DEB913F08733D840010E9CD /* Debug */, 308 | 1DEB914008733D840010E9CD /* Release */, 309 | ); 310 | defaultConfigurationIsVisible = 0; 311 | defaultConfigurationName = Release; 312 | }; 313 | /* End XCConfigurationList section */ 314 | }; 315 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 316 | } 317 | -------------------------------------------------------------------------------- /plugins/iterm/osaglue: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from codecs import getencoder 4 | import re, time, os.path, sys, getopt 5 | 6 | from osaterminology.makeidentifier import getconverter 7 | from appscript import terminology 8 | from aem import Application, findapp, AEType 9 | 10 | ###################################################################### 11 | # default tables 12 | ###################################################################### 13 | 14 | # empty the default py-appscript type-code tables, as that info is already hardcoded in ASConstant 15 | terminology._typebycode = {} 16 | terminology._typebyname = {} 17 | 18 | # patch the existing default reference-code tables 19 | code, name = terminology._referencebycode['pID '] 20 | terminology._referencebycode['pID '] = (code, name + '_') 21 | 22 | for oldname, newname in [('open_location', 'openLocation'), ('print_', 'print'), ('id', 'id_')]: 23 | terminology._referencebyname[newname] = terminology._referencebyname[oldname] 24 | del terminology._referencebyname[oldname] 25 | 26 | 27 | 28 | ###################################################################### 29 | # renderers 30 | ###################################################################### 31 | 32 | prefixtag = 'PREFIX' 33 | interfacemethodspattern = re.compile('^(-.+?) {', re.M) 34 | 35 | legalcodechars = '' 36 | for i in range(32, 126): 37 | c = chr(i) 38 | if c not in '\\\'"': 39 | legalcodechars += c 40 | 41 | hexencode = getencoder('hex_codec') 42 | 43 | def formatcode(code): 44 | if [c for c in code if c not in legalcodechars]: 45 | return '0x' + hexencode(code)[0] 46 | else: 47 | return "'%s'" % code 48 | 49 | 50 | ###################################################################### 51 | 52 | 53 | def renderConstantClass(interface, implementation): 54 | constantClass = prefix + 'Constant' 55 | print >> interface, '@interface %s : ASConstant' % constantClass 56 | print >> implementation, '@implementation ' + constantClass 57 | ####### 58 | print >> interface, '+ (id)constantWithCode:(OSType)code_;' 59 | print >> implementation, ''' 60 | + (id)constantWithCode:(OSType)code_ { 61 | switch (code_) {''' 62 | for code, name in typebycode: 63 | code = formatcode(code) 64 | print >> implementation, ''' case %s: return [self %s];''' % (code, name.name) 65 | print >> implementation, ''' default: return [[self superclass] constantWithCode: code_]; 66 | } 67 | } 68 | ''' 69 | ####### 70 | prevkind = None 71 | for name, code in typebyname: 72 | kind = code.__class__.__name__ 73 | if prevkind != kind: 74 | for t in [interface, implementation]: 75 | print >> t, '\n/* %s */\n' % {'AEEnum': 'Enumerators', 'AEType': 'Types and properties'}[kind] 76 | prevkind = kind 77 | print >> interface, '+ (%s *)%s;' % (constantClass, name) 78 | print >> implementation, '''+ (%s *)%s { 79 | static %sConstant *constantObj; 80 | if (!constantObj) 81 | constantObj = [%sConstant constantWithName: @"%s" type: %s code: %s]; 82 | return constantObj; 83 | }\n''' % (constantClass, name, 84 | prefix, 85 | prefix, name, isinstance(code, AEType) and 'typeType' or 'typeEnumerated', 86 | formatcode(code.code)) 87 | print >> interface, '@end\n\n' 88 | print >> implementation, '@end\n\n' 89 | 90 | 91 | ###################################################################### 92 | 93 | 94 | def renderCommandClasses(interface, implementation): 95 | for name, (kind, data) in referencebyname: 96 | if kind != 'c': 97 | continue 98 | commandclass = prefix + name[0].upper() + name[1:] + 'Command' 99 | code = data[0] 100 | params = data[1].items() 101 | params.sort() 102 | print >> interface, '@interface %s : ASCommand' % commandclass 103 | print >> implementation, '@implementation %s\n' % commandclass 104 | for paramname, paramcode in params: 105 | print >> interface, '- (%s *)%s:(id)value;' % (commandclass, paramname) 106 | print >> implementation, ('- (%s *)%s:(id)value {\n' 107 | ' [AS_event setParameter: value forKeyword: %s];\n' 108 | ' return self;\n' 109 | '}\n') % (commandclass, paramname, formatcode(paramcode)) 110 | print >> interface, '@end\n\n' 111 | print >> implementation, '@end\n\n' 112 | 113 | 114 | ###################################################################### 115 | 116 | 117 | def renderReferenceClass(interface, implementation): 118 | print >> interface, '@interface %sReference : ASReference' % prefix 119 | print >> implementation, '@implementation %sReference' % prefix 120 | print >> implementation, ''' 121 | - (NSString *)description { 122 | return [%sReferenceRenderer render: AS_aemReference]; 123 | }''' % prefix 124 | prevkind = None 125 | for name, (kind, data) in referencebyname: 126 | if kind != prevkind: 127 | for t in [interface, implementation]: 128 | print >> t, '\n/* %s */\n' % {'c': 'Commands', 'p': 'Properties', 'e': 'Elements'}[kind] 129 | prevkind = kind 130 | if kind == 'c': 131 | commandclass = prefix + name[0].upper() + name[1:] + 'Command' 132 | for directParam in ['', ':(id)directParameter']: 133 | print >> interface, '- (%s *)%s;' % (commandclass, name + directParam) 134 | code = data[0] 135 | print >> implementation, ('- (%s *)%s {\n' 136 | ' return [%s commandWithAppData: AS_appData\n' 137 | ' eventClass: %s\n' 138 | ' eventID: %s\n' 139 | ' directParameter: %s\n' 140 | ' parentReference: self];\n' 141 | 142 | '}\n') % (commandclass, name + directParam, 143 | commandclass, 144 | formatcode(code[:4]), 145 | formatcode(code[4:]), 146 | directParam and 'directParameter' or 'nil') 147 | else: 148 | print >> interface, '- (%sReference *)%s;' % (prefix, name) 149 | print >> implementation, ('- (%sReference *)%s {\n' 150 | ' return [%sReference referenceWithAppData: AS_appData\n' 151 | ' aemReference: [AS_aemReference %s: %s]];\n' 152 | '}\n') % (prefix, name, prefix, {'p': 'property', 'e': 'elements'}[kind], formatcode(data)) 153 | renderSelectors(interface, implementation) 154 | print >> interface, '@end\n\n' 155 | print >> implementation, '@end\n\n' 156 | 157 | 158 | _selectorimplementation = """ 159 | /***********************************/ 160 | 161 | // ordinal selectors 162 | 163 | - (PREFIXReference *)first { 164 | return [PREFIXReference referenceWithAppData: AS_appData 165 | aemReference: [AS_aemReference first]]; 166 | } 167 | 168 | - (PREFIXReference *)middle { 169 | return [PREFIXReference referenceWithAppData: AS_appData 170 | aemReference: [AS_aemReference middle]]; 171 | } 172 | 173 | - (PREFIXReference *)last { 174 | return [PREFIXReference referenceWithAppData: AS_appData 175 | aemReference: [AS_aemReference last]]; 176 | } 177 | 178 | - (PREFIXReference *)any { 179 | return [PREFIXReference referenceWithAppData: AS_appData 180 | aemReference: [AS_aemReference any]]; 181 | } 182 | 183 | // by-index, by-name, by-id selectors 184 | 185 | - (PREFIXReference *)at:(long)index { 186 | return [PREFIXReference referenceWithAppData: AS_appData 187 | aemReference: [AS_aemReference at: index]]; 188 | } 189 | 190 | - (PREFIXReference *)byIndex:(id)index { // index is normally NSNumber, but may occasionally be other types 191 | return [PREFIXReference referenceWithAppData: AS_appData 192 | aemReference: [AS_aemReference byIndex: index]]; 193 | } 194 | 195 | - (PREFIXReference *)byName:(NSString *)name { 196 | return [PREFIXReference referenceWithAppData: AS_appData 197 | aemReference: [AS_aemReference byName: name]]; 198 | } 199 | 200 | - (PREFIXReference *)byID:(id)id_ { 201 | return [PREFIXReference referenceWithAppData: AS_appData 202 | aemReference: [AS_aemReference byID: id_]]; 203 | } 204 | 205 | // by-relative-position selectors 206 | 207 | - (PREFIXReference *)previous:(ASConstant *)class_ { 208 | return [PREFIXReference referenceWithAppData: AS_appData 209 | aemReference: [AS_aemReference previous: [class_ AS_code]]]; 210 | } 211 | 212 | - (PREFIXReference *)next:(ASConstant *)class_ { 213 | return [PREFIXReference referenceWithAppData: AS_appData 214 | aemReference: [AS_aemReference next: [class_ AS_code]]]; 215 | } 216 | 217 | // by-range selector 218 | 219 | - (PREFIXReference *)at:(long)fromIndex to:(long)toIndex { 220 | return [PREFIXReference referenceWithAppData: AS_appData 221 | aemReference: [AS_aemReference at: fromIndex to: toIndex]]; 222 | } 223 | 224 | - (PREFIXReference *)byRange:(id)fromObject to:(id)toObject { 225 | // takes two con-based references, with other values being expanded as necessary 226 | if ([fromObject isKindOfClass: [PREFIXReference class]]) 227 | fromObject = [fromObject AS_aemReference]; 228 | if ([toObject isKindOfClass: [PREFIXReference class]]) 229 | toObject = [toObject AS_aemReference]; 230 | return [PREFIXReference referenceWithAppData: AS_appData 231 | aemReference: [AS_aemReference byRange: fromObject to: toObject]]; 232 | } 233 | 234 | // by-test selector 235 | 236 | - (PREFIXReference *)byTest:(PREFIXReference *)testReference { 237 | // note: getting AS_aemReference won't work for ASDynamicReference 238 | return [PREFIXReference referenceWithAppData: AS_appData 239 | aemReference: [AS_aemReference byTest: [testReference AS_aemReference]]]; 240 | } 241 | 242 | // insertion location selectors 243 | 244 | - (PREFIXReference *)start { 245 | return [PREFIXReference referenceWithAppData: AS_appData 246 | aemReference: [AS_aemReference start]]; 247 | } 248 | 249 | - (PREFIXReference *)end { 250 | return [PREFIXReference referenceWithAppData: AS_appData 251 | aemReference: [AS_aemReference end]]; 252 | } 253 | 254 | - (PREFIXReference *)before { 255 | return [PREFIXReference referenceWithAppData: AS_appData 256 | aemReference: [AS_aemReference before]]; 257 | } 258 | 259 | - (PREFIXReference *)after { 260 | return [PREFIXReference referenceWithAppData: AS_appData 261 | aemReference: [AS_aemReference after]]; 262 | } 263 | 264 | // Comparison and logic tests 265 | 266 | - (PREFIXReference *)greaterThan:(id)object { 267 | return [PREFIXReference referenceWithAppData: AS_appData 268 | aemReference: [AS_aemReference greaterThan: object]]; 269 | } 270 | 271 | - (PREFIXReference *)greaterOrEquals:(id)object { 272 | return [PREFIXReference referenceWithAppData: AS_appData 273 | aemReference: [AS_aemReference greaterOrEquals: object]]; 274 | } 275 | 276 | - (PREFIXReference *)equals:(id)object { 277 | return [PREFIXReference referenceWithAppData: AS_appData 278 | aemReference: [AS_aemReference equals: object]]; 279 | } 280 | 281 | - (PREFIXReference *)notEquals:(id)object { 282 | return [PREFIXReference referenceWithAppData: AS_appData 283 | aemReference: [AS_aemReference notEquals: object]]; 284 | } 285 | 286 | - (PREFIXReference *)lessThan:(id)object { 287 | return [PREFIXReference referenceWithAppData: AS_appData 288 | aemReference: [AS_aemReference lessThan: object]]; 289 | } 290 | 291 | - (PREFIXReference *)lessOrEquals:(id)object { 292 | return [PREFIXReference referenceWithAppData: AS_appData 293 | aemReference: [AS_aemReference lessOrEquals: object]]; 294 | } 295 | 296 | - (PREFIXReference *)startsWith:(id)object { 297 | return [PREFIXReference referenceWithAppData: AS_appData 298 | aemReference: [AS_aemReference startsWith: object]]; 299 | } 300 | 301 | - (PREFIXReference *)endsWith:(id)object { 302 | return [PREFIXReference referenceWithAppData: AS_appData 303 | aemReference: [AS_aemReference endsWith: object]]; 304 | } 305 | 306 | - (PREFIXReference *)contains:(id)object { 307 | return [PREFIXReference referenceWithAppData: AS_appData 308 | aemReference: [AS_aemReference contains: object]]; 309 | } 310 | 311 | - (PREFIXReference *)isIn:(id)object { 312 | return [PREFIXReference referenceWithAppData: AS_appData 313 | aemReference: [AS_aemReference isIn: object]]; 314 | } 315 | 316 | - (PREFIXReference *)AND:(id)remainingOperands { 317 | return [PREFIXReference referenceWithAppData: AS_appData 318 | aemReference: [AS_aemReference AND: remainingOperands]]; 319 | } 320 | 321 | - (PREFIXReference *)OR:(id)remainingOperands { 322 | return [PREFIXReference referenceWithAppData: AS_appData 323 | aemReference: [AS_aemReference OR: remainingOperands]]; 324 | } 325 | 326 | - (PREFIXReference *)NOT { 327 | return [PREFIXReference referenceWithAppData: AS_appData 328 | aemReference: [AS_aemReference NOT]]; 329 | } 330 | """ 331 | 332 | def renderSelectors(interface, implementation): 333 | selectors = _selectorimplementation.replace(prefixtag, prefix) 334 | for methoddef in interfacemethodspattern.findall(selectors): 335 | print >> interface, '%s;' % methoddef 336 | print >> implementation, selectors 337 | 338 | 339 | ###################################################################### 340 | 341 | 342 | _applicationclassimplementation = """ 343 | 344 | @implementation PREFIXApplication 345 | 346 | // clients shouldn't need to call this next method themselves 347 | - (id)initWithTargetType:(ASTargetType)targetType_ data:(id)targetData_ { 348 | ASAppData *appData; 349 | 350 | appData = [[ASAppData alloc] initWithApplicationClass: [AEMApplication class] 351 | constantClass: [PREFIXConstant class] 352 | referenceClass: [PREFIXReference class] 353 | targetType: targetType_ 354 | targetData: targetData_]; 355 | self = [super initWithAppData: appData aemReference: AEMApp]; 356 | if (!self) return self; 357 | return self; 358 | } 359 | 360 | // initialisers 361 | 362 | - (id)init { 363 | return [self initWithTargetType: kASTargetCurrent data: nil]; 364 | } 365 | 366 | - (id)initWithName:(NSString *)name { 367 | return [self initWithTargetType: kASTargetName data: name]; 368 | } 369 | 370 | // TO DO: initWithBundleID, initWithSignature 371 | 372 | - (id)initWithPath:(NSString *)path { 373 | return [self initWithTargetType: kASTargetPath data: path]; 374 | } 375 | 376 | - (id)initWithURL:(NSURL *)url { 377 | return [self initWithTargetType: kASTargetURL data: url]; 378 | } 379 | 380 | - (id)initWithPID:(pid_t)pid { 381 | return [self initWithTargetType: kASTargetPID data: [NSNumber numberWithUnsignedLong: pid]]; 382 | } 383 | 384 | - (id)initWithDescriptor:(NSAppleEventDescriptor *)desc { 385 | return [self initWithTargetType: kASTargetDescriptor data: desc]; 386 | } 387 | 388 | @end 389 | """ 390 | 391 | 392 | def renderApplicationClass(interface, implementation): 393 | classdef = _applicationclassimplementation.replace(prefixtag, prefix) 394 | print >> interface, '@interface %sApplication : %sReference' % (prefix, prefix) 395 | for methoddef in interfacemethodspattern.findall(classdef): 396 | print >> interface, '%s;' % methoddef 397 | print >> interface, '@end\n' 398 | print >> implementation, classdef 399 | 400 | 401 | ###################################################################### 402 | 403 | 404 | def renderReferenceRenderer(interface, implementation): 405 | print >> interface, '@interface %sReferenceRenderer : ASReferenceRenderer' % prefix 406 | print >> implementation, '@implementation %sReferenceRenderer' % prefix 407 | for methodname, codeprefix in [('property', 'p'), ('element', 'e')]: 408 | print >> implementation, ''' 409 | - (NSString *)%sByCode:(OSType)code { 410 | switch (code) {''' % methodname 411 | for code, (_, name) in referencebycode: 412 | if code[0] == codeprefix: 413 | print >> implementation, ' case %s: return @"%s";' % (formatcode(code[1:]), name) 414 | print >> implementation, ''' 415 | default: return nil; 416 | } 417 | }''' 418 | print >> implementation, ''' 419 | + (NSString *)render:(id)object { 420 | return [%sReferenceRenderer render: object withPrefix: @"%s"]; 421 | } 422 | ''' % (prefix, prefix) 423 | print >> interface, '@end' 424 | print >> implementation, '@end' 425 | 426 | 427 | 428 | ###################################################################### 429 | 430 | 431 | gluefiles = [ 432 | ('ConstantGlue', ''' 433 | #import "Appscript/Appscript.h" 434 | ''', renderConstantClass), 435 | 436 | ('CommandGlue', ''' 437 | #import "Appscript/Appscript.h" 438 | ''', renderCommandClasses), 439 | 440 | ('ReferenceGlue', ''' 441 | #import "Appscript/Appscript.h" 442 | #import "PREFIXCommandGlue.h" 443 | #import "PREFIXReferenceRendererGlue.h" 444 | 445 | #define PREFIXApp ((PREFIXReference *)[PREFIXReference referenceWithAppData: nil aemReference: AEMApp]) 446 | #define PREFIXCon ((PREFIXReference *)[PREFIXReference referenceWithAppData: nil aemReference: AEMCon]) 447 | #define PREFIXIts ((PREFIXReference *)[PREFIXReference referenceWithAppData: nil aemReference: AEMIts]) 448 | ''', renderReferenceClass), 449 | 450 | ('ApplicationGlue', ''' 451 | #import "Appscript/Appscript.h" 452 | #import "PREFIXConstantGlue.h" 453 | #import "PREFIXReferenceGlue.h" 454 | ''', renderApplicationClass), 455 | 456 | ('ReferenceRendererGlue', ''' 457 | #import "Appscript/Appscript.h" 458 | ''', renderReferenceRenderer), 459 | ] 460 | 461 | 462 | def renderGlueFiles(outdir, prefix, gluename, imports, fn): 463 | interface = open(os.path.join(outdir, prefix + gluename + '.h'), 'w') 464 | implementation = open(os.path.join(outdir, prefix + gluename + '.m'), 'w') 465 | print >> interface, ("""/* 466 | * %s.h 467 | * 468 | * %%s 469 | * %%s 470 | * 471 | */ 472 | 473 | #import 474 | 475 | %s 476 | """ % (prefix + gluename, imports)).replace(prefixtag, prefix) % (apppath, time.strftime('%Y-%m-%d %H:%M:%S (%Z)')) 477 | print >> implementation, ("""/* 478 | * %s.m 479 | * 480 | * %%s 481 | * %%s 482 | * 483 | */ 484 | 485 | #import "%s.h" 486 | """ % (prefix + gluename, prefix + gluename)).replace(prefixtag, prefix) % (apppath, time.strftime('%Y-%m-%d %H:%M:%S (%Z)')) 487 | fn(interface, implementation) 488 | interface.close() 489 | implementation.close() 490 | 491 | ###################################################################### 492 | # parse argv 493 | 494 | opts, args = getopt.getopt(sys.argv[1:], 'p:o:') # -p = prefix; -o = output directory 495 | opts = dict(opts) 496 | 497 | if not args or opts.has_key('-h'): 498 | print """osaglue -- Generate .h and .m glue files for objc-appscript. 499 | 500 | SYNOPSIS 501 | 502 | osaglue [-o output-directory] prefix [application-name] 503 | 504 | DESCRIPTION 505 | 506 | The -o option may be used to specify the directory to which the glue files should be written. 507 | 508 | The prefix argument is prepended to the names of all glue files and classes. Developers should specify a unique prefix that won't cause namespace conflicts in their project. 509 | 510 | The application-name argument may be the name or full path of the application for which glues should be generated. If omitted, the resulting glue files will contain only the default terminology provided by appscript. 511 | 512 | EXAMPLES 513 | 514 | To generate TEGlue.h and associated files for TextEdit: 515 | 516 | osaglue -o ~/TEGlue TE TextEdit 517 | 518 | """ 519 | sys.exit() 520 | 521 | outdir = opts.get('-o', '') 522 | prefix = args[0] 523 | 524 | 525 | ###################################################################### 526 | # get tables 527 | 528 | if args[1:]: 529 | apppath = findapp.byname(args[1]) 530 | typebycode, typebyname, referencebycode, referencebyname = \ 531 | terminology.tablesforapp(Application(apppath), 'objc-appscript') 532 | else: 533 | apppath = '' 534 | typebycode, typebyname, referencebycode, referencebyname = \ 535 | terminology.tablesforaetedata([], 'objc-appscript') 536 | 537 | typebyname = typebyname.items() 538 | typebyname.sort(lambda a, b: cmp(a[1].__class__.__name__, b[1].__class__.__name__) or cmp(a[0], b[0])) 539 | typebycode = typebycode.items() 540 | typebycode.sort(lambda a, b: cmp(a[1].name, b[1].name)) 541 | referencebyname = referencebyname.items() 542 | referencebyname.sort(lambda a, b: cmp(a[1][0], b[1][0]) or cmp(a[0], b[0])) 543 | referencebycode = referencebycode.items() 544 | referencebycode.sort(lambda a, b: cmp(a[1][1], b[1][1])) 545 | 546 | 547 | ###################################################################### 548 | # render glues 549 | 550 | for gluename, imports, fn in gluefiles: 551 | renderGlueFiles(outdir, prefix, gluename, imports, fn) 552 | 553 | interface = open(os.path.join(outdir, prefix + 'Glue.h'), 'w') 554 | print >> interface, ''' 555 | /* 556 | * PREFIXGlue.h 557 | * 558 | * %s 559 | * %s 560 | * 561 | */ 562 | 563 | #import "Appscript/Appscript.h" 564 | #import "PREFIXApplicationGlue.h" 565 | #import "PREFIXCommandGlue.h" 566 | #import "PREFIXConstantGlue.h" 567 | #import "PREFIXReferenceGlue.h" 568 | #import "PREFIXReferenceRendererGlue.h" 569 | '''.replace(prefixtag, prefix) % (apppath, time.strftime('%Y-%m-%d %H:%M:%S (%Z)')) 570 | interface.close() 571 | -------------------------------------------------------------------------------- /cd_to.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXAggregateTarget section */ 10 | 69968DB2183859F400FB4A35 /* cd_to all */ = { 11 | isa = PBXAggregateTarget; 12 | buildConfigurationList = 69968DB5183859F400FB4A35 /* Build configuration list for PBXAggregateTarget "cd_to all" */; 13 | buildPhases = ( 14 | C63041ED1E31A30200CE8C43 /* hyper */, 15 | C63041EE1E31A30400CE8C43 /* hyper Plugin */, 16 | 69968DC218385C1A00FB4A35 /* iTerm */, 17 | 69968DC418385C5700FB4A35 /* iTerm Plugin */, 18 | 69968DBE18385A2C00FB4A35 /* Terminal */, 19 | 69968DC018385B3300FB4A35 /* Terminal Plugin */, 20 | 69968DC618385CCB00FB4A35 /* X11 xterm */, 21 | 69968DC818385D2B00FB4A35 /* X11 xterm Plugin */, 22 | 69E2DFCC18386A4900B7DEA3 /* Sign apps */, 23 | ); 24 | dependencies = ( 25 | 69E2DFD618387DE700B7DEA3 /* PBXTargetDependency */, 26 | C63041E01E31A1D900CE8C43 /* PBXTargetDependency */, 27 | 69968DBD18385A0500FB4A35 /* PBXTargetDependency */, 28 | 69968DB918385A0500FB4A35 /* PBXTargetDependency */, 29 | 69968DBB18385A0500FB4A35 /* PBXTargetDependency */, 30 | ); 31 | name = "cd_to all"; 32 | productName = "cd to all"; 33 | }; 34 | /* End PBXAggregateTarget section */ 35 | 36 | /* Begin PBXBuildFile section */ 37 | 69449AD20B8909A500A19631 /* CD2PluginProtocolV1.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 69449AD10B8909A400A19631 /* CD2PluginProtocolV1.h */; }; 38 | 6947E8C713DA6362008C982D /* icons.icns in Resources */ = {isa = PBXBuildFile; fileRef = 6947E8C613DA6362008C982D /* icons.icns */; }; 39 | 6963D7FD1835ED290039592E /* LICENSE.md in Resources */ = {isa = PBXBuildFile; fileRef = 6963D7FC1835ED290039592E /* LICENSE.md */; }; 40 | 69968DC118385B4C00FB4A35 /* terminal.bundle in Terminal Plugin */ = {isa = PBXBuildFile; fileRef = 69449AA50B89080600A19631 /* terminal.bundle */; }; 41 | 69968DC318385C2C00FB4A35 /* cd_to.app in iTerm */ = {isa = PBXBuildFile; fileRef = 8D1107320486CEB800E47090 /* cd_to.app */; }; 42 | 69968DC518385C8800FB4A35 /* iterm.bundle in iTerm Plugin */ = {isa = PBXBuildFile; fileRef = 69449D880B894DBF00A19631 /* iterm.bundle */; }; 43 | 69968DC718385CFC00FB4A35 /* cd_to.app in X11 xterm */ = {isa = PBXBuildFile; fileRef = 8D1107320486CEB800E47090 /* cd_to.app */; }; 44 | 69968DC918385D4A00FB4A35 /* X11_xterm.bundle in X11 xterm Plugin */ = {isa = PBXBuildFile; fileRef = 69449C110B892D0B00A19631 /* X11_xterm.bundle */; }; 45 | 69C8A98E106E818900C4DE0D /* ScriptingBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69C8A98D106E818900C4DE0D /* ScriptingBridge.framework */; }; 46 | 69C8AA71106E8F5800C4DE0D /* Finder.app in Resources */ = {isa = PBXBuildFile; fileRef = 69C8AA70106E8F5800C4DE0D /* Finder.app */; }; 47 | 69C8AA89106EE02F00C4DE0D /* Finder.app in Sources */ = {isa = PBXBuildFile; fileRef = 69C8AA70106E8F5800C4DE0D /* Finder.app */; }; 48 | 69E2DFD718387F4500B7DEA3 /* cd_to.app in Terminal */ = {isa = PBXBuildFile; fileRef = 8D1107320486CEB800E47090 /* cd_to.app */; }; 49 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 50 | 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 51 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 52 | C63041EF1E31A33500CE8C43 /* cd_to.app in hyper */ = {isa = PBXBuildFile; fileRef = 8D1107320486CEB800E47090 /* cd_to.app */; }; 53 | C63041F01E31A35D00CE8C43 /* hyper.bundle in hyper Plugin */ = {isa = PBXBuildFile; fileRef = C63041DE1E31A15C00CE8C43 /* hyper.bundle */; }; 54 | /* End PBXBuildFile section */ 55 | 56 | /* Begin PBXBuildRule section */ 57 | 69C8AA6F106E8F0C00C4DE0D /* PBXBuildRule */ = { 58 | isa = PBXBuildRule; 59 | compilerSpec = com.apple.compilers.proxy.script; 60 | filePatterns = "*.app"; 61 | fileType = pattern.proxy; 62 | isEditable = 1; 63 | outputFiles = ( 64 | "$(DERIVED_FILES_DIR)/$(INPUT_FILE_BASE).h", 65 | ); 66 | script = "sdef \"$INPUT_FILE_PATH\" | sdp -fh -o \"$DERIVED_FILES_DIR\" --basename \"$INPUT_FILE_BASE\" --bundleid `defaults read \"$INPUT_FILE_PATH/Contents/Info\" CFBundleIdentifier`"; 67 | }; 68 | /* End PBXBuildRule section */ 69 | 70 | /* Begin PBXContainerItemProxy section */ 71 | 69449AA40B89080600A19631 /* PBXContainerItemProxy */ = { 72 | isa = PBXContainerItemProxy; 73 | containerPortal = 69449A9C0B89080600A19631 /* terminal.xcodeproj */; 74 | proxyType = 2; 75 | remoteGlobalIDString = 8D5B49B6048680CD000E48DA; 76 | remoteInfo = terminal; 77 | }; 78 | 69449C100B892D0B00A19631 /* PBXContainerItemProxy */ = { 79 | isa = PBXContainerItemProxy; 80 | containerPortal = 69449C090B892D0B00A19631 /* X11_xterm.xcodeproj */; 81 | proxyType = 2; 82 | remoteGlobalIDString = 8D5B49B6048680CD000E48DA; 83 | remoteInfo = X11_xterm; 84 | }; 85 | 69449D870B894DBF00A19631 /* PBXContainerItemProxy */ = { 86 | isa = PBXContainerItemProxy; 87 | containerPortal = 69449D830B894DBF00A19631 /* iterm.xcodeproj */; 88 | proxyType = 2; 89 | remoteGlobalIDString = 8D5B49B6048680CD000E48DA; 90 | remoteInfo = iterm; 91 | }; 92 | 69968DB818385A0500FB4A35 /* PBXContainerItemProxy */ = { 93 | isa = PBXContainerItemProxy; 94 | containerPortal = 69449A9C0B89080600A19631 /* terminal.xcodeproj */; 95 | proxyType = 1; 96 | remoteGlobalIDString = 8D5B49AC048680CD000E48DA; 97 | remoteInfo = terminal; 98 | }; 99 | 69968DBA18385A0500FB4A35 /* PBXContainerItemProxy */ = { 100 | isa = PBXContainerItemProxy; 101 | containerPortal = 69449C090B892D0B00A19631 /* X11_xterm.xcodeproj */; 102 | proxyType = 1; 103 | remoteGlobalIDString = 8D5B49AC048680CD000E48DA; 104 | remoteInfo = X11_xterm; 105 | }; 106 | 69968DBC18385A0500FB4A35 /* PBXContainerItemProxy */ = { 107 | isa = PBXContainerItemProxy; 108 | containerPortal = 69449D830B894DBF00A19631 /* iterm.xcodeproj */; 109 | proxyType = 1; 110 | remoteGlobalIDString = 8D5B49AC048680CD000E48DA; 111 | remoteInfo = iterm; 112 | }; 113 | 69E2DFD518387DE700B7DEA3 /* PBXContainerItemProxy */ = { 114 | isa = PBXContainerItemProxy; 115 | containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; 116 | proxyType = 1; 117 | remoteGlobalIDString = 8D1107260486CEB800E47090; 118 | remoteInfo = ">cd to ..."; 119 | }; 120 | C63041DD1E31A15C00CE8C43 /* PBXContainerItemProxy */ = { 121 | isa = PBXContainerItemProxy; 122 | containerPortal = C63041D91E31A15C00CE8C43 /* hyper.xcodeproj */; 123 | proxyType = 2; 124 | remoteGlobalIDString = 8D5B49B6048680CD000E48DA; 125 | remoteInfo = hyper; 126 | }; 127 | C63041DF1E31A1D900CE8C43 /* PBXContainerItemProxy */ = { 128 | isa = PBXContainerItemProxy; 129 | containerPortal = C63041D91E31A15C00CE8C43 /* hyper.xcodeproj */; 130 | proxyType = 1; 131 | remoteGlobalIDString = 8D5B49AC048680CD000E48DA; 132 | remoteInfo = hyper; 133 | }; 134 | /* End PBXContainerItemProxy section */ 135 | 136 | /* Begin PBXCopyFilesBuildPhase section */ 137 | 694495D00B869BB500A19631 /* Copy Files */ = { 138 | isa = PBXCopyFilesBuildPhase; 139 | buildActionMask = 2147483647; 140 | dstPath = ""; 141 | dstSubfolderSpec = 7; 142 | files = ( 143 | 69449AD20B8909A500A19631 /* CD2PluginProtocolV1.h in Copy Files */, 144 | ); 145 | name = "Copy Files"; 146 | runOnlyForDeploymentPostprocessing = 0; 147 | }; 148 | 69968DBE18385A2C00FB4A35 /* Terminal */ = { 149 | isa = PBXCopyFilesBuildPhase; 150 | buildActionMask = 12; 151 | dstPath = terminal; 152 | dstSubfolderSpec = 16; 153 | files = ( 154 | 69E2DFD718387F4500B7DEA3 /* cd_to.app in Terminal */, 155 | ); 156 | name = Terminal; 157 | runOnlyForDeploymentPostprocessing = 0; 158 | }; 159 | 69968DC018385B3300FB4A35 /* Terminal Plugin */ = { 160 | isa = PBXCopyFilesBuildPhase; 161 | buildActionMask = 2147483647; 162 | dstPath = terminal/cd_to.app/Contents/PlugIns; 163 | dstSubfolderSpec = 16; 164 | files = ( 165 | 69968DC118385B4C00FB4A35 /* terminal.bundle in Terminal Plugin */, 166 | ); 167 | name = "Terminal Plugin"; 168 | runOnlyForDeploymentPostprocessing = 0; 169 | }; 170 | 69968DC218385C1A00FB4A35 /* iTerm */ = { 171 | isa = PBXCopyFilesBuildPhase; 172 | buildActionMask = 2147483647; 173 | dstPath = iterm; 174 | dstSubfolderSpec = 16; 175 | files = ( 176 | 69968DC318385C2C00FB4A35 /* cd_to.app in iTerm */, 177 | ); 178 | name = iTerm; 179 | runOnlyForDeploymentPostprocessing = 0; 180 | }; 181 | 69968DC418385C5700FB4A35 /* iTerm Plugin */ = { 182 | isa = PBXCopyFilesBuildPhase; 183 | buildActionMask = 2147483647; 184 | dstPath = iterm/cd_to.app/Contents/PlugIns; 185 | dstSubfolderSpec = 16; 186 | files = ( 187 | 69968DC518385C8800FB4A35 /* iterm.bundle in iTerm Plugin */, 188 | ); 189 | name = "iTerm Plugin"; 190 | runOnlyForDeploymentPostprocessing = 0; 191 | }; 192 | 69968DC618385CCB00FB4A35 /* X11 xterm */ = { 193 | isa = PBXCopyFilesBuildPhase; 194 | buildActionMask = 2147483647; 195 | dstPath = x11_xterm; 196 | dstSubfolderSpec = 16; 197 | files = ( 198 | 69968DC718385CFC00FB4A35 /* cd_to.app in X11 xterm */, 199 | ); 200 | name = "X11 xterm"; 201 | runOnlyForDeploymentPostprocessing = 0; 202 | }; 203 | 69968DC818385D2B00FB4A35 /* X11 xterm Plugin */ = { 204 | isa = PBXCopyFilesBuildPhase; 205 | buildActionMask = 2147483647; 206 | dstPath = x11_xterm/cd_to.app/Contents/PlugIns; 207 | dstSubfolderSpec = 16; 208 | files = ( 209 | 69968DC918385D4A00FB4A35 /* X11_xterm.bundle in X11 xterm Plugin */, 210 | ); 211 | name = "X11 xterm Plugin"; 212 | runOnlyForDeploymentPostprocessing = 0; 213 | }; 214 | C63041ED1E31A30200CE8C43 /* hyper */ = { 215 | isa = PBXCopyFilesBuildPhase; 216 | buildActionMask = 2147483647; 217 | dstPath = hyper; 218 | dstSubfolderSpec = 16; 219 | files = ( 220 | C63041EF1E31A33500CE8C43 /* cd_to.app in hyper */, 221 | ); 222 | name = hyper; 223 | runOnlyForDeploymentPostprocessing = 0; 224 | }; 225 | C63041EE1E31A30400CE8C43 /* hyper Plugin */ = { 226 | isa = PBXCopyFilesBuildPhase; 227 | buildActionMask = 2147483647; 228 | dstPath = hyper/cd_to.app/Contents/PlugIns; 229 | dstSubfolderSpec = 16; 230 | files = ( 231 | C63041F01E31A35D00CE8C43 /* hyper.bundle in hyper Plugin */, 232 | ); 233 | name = "hyper Plugin"; 234 | runOnlyForDeploymentPostprocessing = 0; 235 | }; 236 | /* End PBXCopyFilesBuildPhase section */ 237 | 238 | /* Begin PBXFileReference section */ 239 | 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 240 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 241 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 242 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 243 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 244 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 245 | 69449A9C0B89080600A19631 /* terminal.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = terminal.xcodeproj; path = plugins/terminal/terminal.xcodeproj; sourceTree = ""; }; 246 | 69449AD10B8909A400A19631 /* CD2PluginProtocolV1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CD2PluginProtocolV1.h; path = plugins/CD2PluginProtocolV1.h; sourceTree = ""; }; 247 | 69449C090B892D0B00A19631 /* X11_xterm.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = X11_xterm.xcodeproj; path = plugins/X11_xterm/X11_xterm.xcodeproj; sourceTree = ""; }; 248 | 69449D830B894DBF00A19631 /* iterm.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = iterm.xcodeproj; path = plugins/iterm/iterm.xcodeproj; sourceTree = ""; }; 249 | 6947E8C613DA6362008C982D /* icons.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icons.icns; sourceTree = ""; }; 250 | 6963D7FC1835ED290039592E /* LICENSE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE.md; sourceTree = ""; }; 251 | 69C8A98D106E818900C4DE0D /* ScriptingBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScriptingBridge.framework; path = /System/Library/Frameworks/ScriptingBridge.framework; sourceTree = ""; }; 252 | 69C8AA70106E8F5800C4DE0D /* Finder.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; name = Finder.app; path = /System/Library/CoreServices/Finder.app; sourceTree = ""; }; 253 | 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 254 | 8D1107320486CEB800E47090 /* cd_to.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = cd_to.app; sourceTree = BUILT_PRODUCTS_DIR; }; 255 | C63041D91E31A15C00CE8C43 /* hyper.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = hyper.xcodeproj; path = plugins/hyper/hyper.xcodeproj; sourceTree = ""; }; 256 | /* End PBXFileReference section */ 257 | 258 | /* Begin PBXFrameworksBuildPhase section */ 259 | 8D11072E0486CEB800E47090 /* Frameworks */ = { 260 | isa = PBXFrameworksBuildPhase; 261 | buildActionMask = 2147483647; 262 | files = ( 263 | 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, 264 | 69C8A98E106E818900C4DE0D /* ScriptingBridge.framework in Frameworks */, 265 | ); 266 | runOnlyForDeploymentPostprocessing = 0; 267 | }; 268 | /* End PBXFrameworksBuildPhase section */ 269 | 270 | /* Begin PBXGroup section */ 271 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { 272 | isa = PBXGroup; 273 | children = ( 274 | 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, 275 | 69C8A98D106E818900C4DE0D /* ScriptingBridge.framework */, 276 | ); 277 | name = "Linked Frameworks"; 278 | sourceTree = ""; 279 | }; 280 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { 281 | isa = PBXGroup; 282 | children = ( 283 | 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 284 | 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, 285 | 29B97325FDCFA39411CA2CEA /* Foundation.framework */, 286 | ); 287 | name = "Other Frameworks"; 288 | sourceTree = ""; 289 | }; 290 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 291 | isa = PBXGroup; 292 | children = ( 293 | 8D1107320486CEB800E47090 /* cd_to.app */, 294 | ); 295 | name = Products; 296 | sourceTree = ""; 297 | }; 298 | 29B97314FDCFA39411CA2CEA /* cd to ... */ = { 299 | isa = PBXGroup; 300 | children = ( 301 | 69C8AA70106E8F5800C4DE0D /* Finder.app */, 302 | 69449AD50B8909AB00A19631 /* plugin */, 303 | 694495BE0B869B3B00A19631 /* external projects */, 304 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 305 | 29B97317FDCFA39411CA2CEA /* Resources */, 306 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 307 | 19C28FACFE9D520D11CA2CBB /* Products */, 308 | ); 309 | name = "cd to ..."; 310 | sourceTree = ""; 311 | }; 312 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 313 | isa = PBXGroup; 314 | children = ( 315 | 29B97316FDCFA39411CA2CEA /* main.m */, 316 | ); 317 | name = "Other Sources"; 318 | sourceTree = ""; 319 | }; 320 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 321 | isa = PBXGroup; 322 | children = ( 323 | 6963D7FC1835ED290039592E /* LICENSE.md */, 324 | 6947E8C613DA6362008C982D /* icons.icns */, 325 | 8D1107310486CEB800E47090 /* Info.plist */, 326 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 327 | ); 328 | name = Resources; 329 | sourceTree = ""; 330 | }; 331 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 332 | isa = PBXGroup; 333 | children = ( 334 | 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 335 | 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, 336 | ); 337 | name = Frameworks; 338 | sourceTree = ""; 339 | }; 340 | 694495BE0B869B3B00A19631 /* external projects */ = { 341 | isa = PBXGroup; 342 | children = ( 343 | C63041D91E31A15C00CE8C43 /* hyper.xcodeproj */, 344 | 69449D830B894DBF00A19631 /* iterm.xcodeproj */, 345 | 69449A9C0B89080600A19631 /* terminal.xcodeproj */, 346 | 69449C090B892D0B00A19631 /* X11_xterm.xcodeproj */, 347 | ); 348 | name = "external projects"; 349 | sourceTree = ""; 350 | }; 351 | 69449A9D0B89080600A19631 /* Products */ = { 352 | isa = PBXGroup; 353 | children = ( 354 | 69449AA50B89080600A19631 /* terminal.bundle */, 355 | ); 356 | name = Products; 357 | sourceTree = ""; 358 | }; 359 | 69449AD50B8909AB00A19631 /* plugin */ = { 360 | isa = PBXGroup; 361 | children = ( 362 | 69449AD10B8909A400A19631 /* CD2PluginProtocolV1.h */, 363 | ); 364 | name = plugin; 365 | sourceTree = ""; 366 | }; 367 | 69449C0A0B892D0B00A19631 /* Products */ = { 368 | isa = PBXGroup; 369 | children = ( 370 | 69449C110B892D0B00A19631 /* X11_xterm.bundle */, 371 | ); 372 | name = Products; 373 | sourceTree = ""; 374 | }; 375 | 69449D840B894DBF00A19631 /* Products */ = { 376 | isa = PBXGroup; 377 | children = ( 378 | 69449D880B894DBF00A19631 /* iterm.bundle */, 379 | ); 380 | name = Products; 381 | sourceTree = ""; 382 | }; 383 | C63041DA1E31A15C00CE8C43 /* Products */ = { 384 | isa = PBXGroup; 385 | children = ( 386 | C63041DE1E31A15C00CE8C43 /* hyper.bundle */, 387 | ); 388 | name = Products; 389 | sourceTree = ""; 390 | }; 391 | /* End PBXGroup section */ 392 | 393 | /* Begin PBXNativeTarget section */ 394 | 8D1107260486CEB800E47090 /* cd_to */ = { 395 | isa = PBXNativeTarget; 396 | buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "cd_to" */; 397 | buildPhases = ( 398 | 8D1107290486CEB800E47090 /* Resources */, 399 | 8D11072C0486CEB800E47090 /* Sources */, 400 | 8D11072E0486CEB800E47090 /* Frameworks */, 401 | 694495D00B869BB500A19631 /* Copy Files */, 402 | ); 403 | buildRules = ( 404 | 69C8AA6F106E8F0C00C4DE0D /* PBXBuildRule */, 405 | ); 406 | dependencies = ( 407 | ); 408 | name = cd_to; 409 | productInstallPath = "$(HOME)/Applications"; 410 | productName = "cd to ..."; 411 | productReference = 8D1107320486CEB800E47090 /* cd_to.app */; 412 | productType = "com.apple.product-type.application"; 413 | }; 414 | /* End PBXNativeTarget section */ 415 | 416 | /* Begin PBXProject section */ 417 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 418 | isa = PBXProject; 419 | attributes = { 420 | LastUpgradeCheck = 0800; 421 | TargetAttributes = { 422 | 8D1107260486CEB800E47090 = { 423 | DevelopmentTeam = VURRGRYW45; 424 | }; 425 | }; 426 | }; 427 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "cd_to" */; 428 | compatibilityVersion = "Xcode 3.2"; 429 | developmentRegion = English; 430 | hasScannedForEncodings = 1; 431 | knownRegions = ( 432 | en, 433 | ); 434 | mainGroup = 29B97314FDCFA39411CA2CEA /* cd to ... */; 435 | projectDirPath = ""; 436 | projectReferences = ( 437 | { 438 | ProductGroup = C63041DA1E31A15C00CE8C43 /* Products */; 439 | ProjectRef = C63041D91E31A15C00CE8C43 /* hyper.xcodeproj */; 440 | }, 441 | { 442 | ProductGroup = 69449D840B894DBF00A19631 /* Products */; 443 | ProjectRef = 69449D830B894DBF00A19631 /* iterm.xcodeproj */; 444 | }, 445 | { 446 | ProductGroup = 69449A9D0B89080600A19631 /* Products */; 447 | ProjectRef = 69449A9C0B89080600A19631 /* terminal.xcodeproj */; 448 | }, 449 | { 450 | ProductGroup = 69449C0A0B892D0B00A19631 /* Products */; 451 | ProjectRef = 69449C090B892D0B00A19631 /* X11_xterm.xcodeproj */; 452 | }, 453 | ); 454 | projectRoot = ""; 455 | targets = ( 456 | 8D1107260486CEB800E47090 /* cd_to */, 457 | 69968DB2183859F400FB4A35 /* cd_to all */, 458 | ); 459 | }; 460 | /* End PBXProject section */ 461 | 462 | /* Begin PBXReferenceProxy section */ 463 | 69449AA50B89080600A19631 /* terminal.bundle */ = { 464 | isa = PBXReferenceProxy; 465 | fileType = wrapper.cfbundle; 466 | path = terminal.bundle; 467 | remoteRef = 69449AA40B89080600A19631 /* PBXContainerItemProxy */; 468 | sourceTree = BUILT_PRODUCTS_DIR; 469 | }; 470 | 69449C110B892D0B00A19631 /* X11_xterm.bundle */ = { 471 | isa = PBXReferenceProxy; 472 | fileType = wrapper.cfbundle; 473 | path = X11_xterm.bundle; 474 | remoteRef = 69449C100B892D0B00A19631 /* PBXContainerItemProxy */; 475 | sourceTree = BUILT_PRODUCTS_DIR; 476 | }; 477 | 69449D880B894DBF00A19631 /* iterm.bundle */ = { 478 | isa = PBXReferenceProxy; 479 | fileType = wrapper.cfbundle; 480 | path = iterm.bundle; 481 | remoteRef = 69449D870B894DBF00A19631 /* PBXContainerItemProxy */; 482 | sourceTree = BUILT_PRODUCTS_DIR; 483 | }; 484 | C63041DE1E31A15C00CE8C43 /* hyper.bundle */ = { 485 | isa = PBXReferenceProxy; 486 | fileType = wrapper.cfbundle; 487 | path = hyper.bundle; 488 | remoteRef = C63041DD1E31A15C00CE8C43 /* PBXContainerItemProxy */; 489 | sourceTree = BUILT_PRODUCTS_DIR; 490 | }; 491 | /* End PBXReferenceProxy section */ 492 | 493 | /* Begin PBXResourcesBuildPhase section */ 494 | 8D1107290486CEB800E47090 /* Resources */ = { 495 | isa = PBXResourcesBuildPhase; 496 | buildActionMask = 2147483647; 497 | files = ( 498 | 6963D7FD1835ED290039592E /* LICENSE.md in Resources */, 499 | 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, 500 | 69C8AA71106E8F5800C4DE0D /* Finder.app in Resources */, 501 | 6947E8C713DA6362008C982D /* icons.icns in Resources */, 502 | ); 503 | runOnlyForDeploymentPostprocessing = 0; 504 | }; 505 | /* End PBXResourcesBuildPhase section */ 506 | 507 | /* Begin PBXShellScriptBuildPhase section */ 508 | 69E2DFCC18386A4900B7DEA3 /* Sign apps */ = { 509 | isa = PBXShellScriptBuildPhase; 510 | buildActionMask = 8; 511 | files = ( 512 | ); 513 | inputPaths = ( 514 | ); 515 | name = "Sign apps"; 516 | outputPaths = ( 517 | "$(CONFIGURATION_BUILD_DIR)/hyper/cd_to.app", 518 | "$(CONFIGURATION_BUILD_DIR)/iterm/cd_to.app", 519 | "$(CONFIGURATION_BUILD_DIR)/terminal/cd_to.app", 520 | "$(CONFIGURATION_BUILD_DIR)/x11_xterm/cd_to.app", 521 | ); 522 | runOnlyForDeploymentPostprocessing = 1; 523 | shellPath = /bin/sh; 524 | shellScript = "echo \"sign $CONFIGURATION_BUILD_DIR/hyper/cd_to.app\"\necho \"sign $CONFIGURATION_BUILD_DIR/iterm/cd_to.app\"\necho \"sign $CONFIGURATION_BUILD_DIR/terminal/cd_to.app\"\necho \"sign $CONFIGURATION_BUILD_DIR/x11_xterm/cd_to.app\"\n\ncodesign -s \"Developer ID Application: Evgeny Aleksandrov (5567X9EQ9Q)\" \"$CONFIGURATION_BUILD_DIR/hyper/cd_to.app\" \"$CONFIGURATION_BUILD_DIR/iterm/cd_to.app\" \"$CONFIGURATION_BUILD_DIR/terminal/cd_to.app\" \"$CONFIGURATION_BUILD_DIR/x11_xterm/cd_to.app\"\n\nmkdir -p \"$TARGET_BUILD_DIR\"\nmv \"$CONFIGURATION_BUILD_DIR/hyper\" \"$TARGET_BUILD_DIR/hyper\"\nmv \"$CONFIGURATION_BUILD_DIR/iterm\" \"$TARGET_BUILD_DIR/iterm\"\nmv \"$CONFIGURATION_BUILD_DIR/terminal\" \"$TARGET_BUILD_DIR/terminal\"\nmv \"$CONFIGURATION_BUILD_DIR/x11_xterm\" \"$TARGET_BUILD_DIR/x11_xterm\"\n\n"; 525 | showEnvVarsInLog = 0; 526 | }; 527 | /* End PBXShellScriptBuildPhase section */ 528 | 529 | /* Begin PBXSourcesBuildPhase section */ 530 | 8D11072C0486CEB800E47090 /* Sources */ = { 531 | isa = PBXSourcesBuildPhase; 532 | buildActionMask = 2147483647; 533 | files = ( 534 | 69C8AA89106EE02F00C4DE0D /* Finder.app in Sources */, 535 | 8D11072D0486CEB800E47090 /* main.m in Sources */, 536 | ); 537 | runOnlyForDeploymentPostprocessing = 0; 538 | }; 539 | /* End PBXSourcesBuildPhase section */ 540 | 541 | /* Begin PBXTargetDependency section */ 542 | 69968DB918385A0500FB4A35 /* PBXTargetDependency */ = { 543 | isa = PBXTargetDependency; 544 | name = terminal; 545 | targetProxy = 69968DB818385A0500FB4A35 /* PBXContainerItemProxy */; 546 | }; 547 | 69968DBB18385A0500FB4A35 /* PBXTargetDependency */ = { 548 | isa = PBXTargetDependency; 549 | name = X11_xterm; 550 | targetProxy = 69968DBA18385A0500FB4A35 /* PBXContainerItemProxy */; 551 | }; 552 | 69968DBD18385A0500FB4A35 /* PBXTargetDependency */ = { 553 | isa = PBXTargetDependency; 554 | name = iterm; 555 | targetProxy = 69968DBC18385A0500FB4A35 /* PBXContainerItemProxy */; 556 | }; 557 | 69E2DFD618387DE700B7DEA3 /* PBXTargetDependency */ = { 558 | isa = PBXTargetDependency; 559 | target = 8D1107260486CEB800E47090 /* cd_to */; 560 | targetProxy = 69E2DFD518387DE700B7DEA3 /* PBXContainerItemProxy */; 561 | }; 562 | C63041E01E31A1D900CE8C43 /* PBXTargetDependency */ = { 563 | isa = PBXTargetDependency; 564 | name = hyper; 565 | targetProxy = C63041DF1E31A1D900CE8C43 /* PBXContainerItemProxy */; 566 | }; 567 | /* End PBXTargetDependency section */ 568 | 569 | /* Begin PBXVariantGroup section */ 570 | 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { 571 | isa = PBXVariantGroup; 572 | children = ( 573 | 089C165DFE840E0CC02AAC07 /* English */, 574 | ); 575 | name = InfoPlist.strings; 576 | sourceTree = ""; 577 | }; 578 | /* End PBXVariantGroup section */ 579 | 580 | /* Begin XCBuildConfiguration section */ 581 | 69968DB3183859F400FB4A35 /* Debug */ = { 582 | isa = XCBuildConfiguration; 583 | buildSettings = { 584 | CODE_SIGN_IDENTITY = ""; 585 | INSTALL_PATH = /; 586 | PRODUCT_NAME = "$(TARGET_NAME)"; 587 | }; 588 | name = Debug; 589 | }; 590 | 69968DB4183859F400FB4A35 /* Release */ = { 591 | isa = XCBuildConfiguration; 592 | buildSettings = { 593 | CODE_SIGN_IDENTITY = ""; 594 | INSTALL_PATH = /; 595 | PRODUCT_NAME = "$(TARGET_NAME)"; 596 | }; 597 | name = Release; 598 | }; 599 | C01FCF4B08A954540054247B /* Debug */ = { 600 | isa = XCBuildConfiguration; 601 | buildSettings = { 602 | CODE_SIGN_IDENTITY = ""; 603 | "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; 604 | COMBINE_HIDPI_IMAGES = YES; 605 | COPY_PHASE_STRIP = NO; 606 | GCC_DYNAMIC_NO_PIC = NO; 607 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 608 | GCC_OPTIMIZATION_LEVEL = 0; 609 | GCC_VERSION = ""; 610 | INFOPLIST_FILE = Info.plist; 611 | INSTALL_PATH = /unsigned; 612 | MACOSX_DEPLOYMENT_TARGET = 10.8; 613 | OTHER_CODE_SIGN_FLAGS = ""; 614 | PRODUCT_BUNDLE_IDENTIFIER = name.tuley.jay.cdto; 615 | PRODUCT_NAME = cd_to; 616 | PROVISIONING_PROFILE = ""; 617 | WRAPPER_EXTENSION = app; 618 | }; 619 | name = Debug; 620 | }; 621 | C01FCF4C08A954540054247B /* Release */ = { 622 | isa = XCBuildConfiguration; 623 | buildSettings = { 624 | CODE_SIGN_IDENTITY = ""; 625 | "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; 626 | COMBINE_HIDPI_IMAGES = YES; 627 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 628 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 629 | GCC_VERSION = ""; 630 | INFOPLIST_FILE = Info.plist; 631 | INSTALL_PATH = /unsigned; 632 | MACOSX_DEPLOYMENT_TARGET = 10.8; 633 | OTHER_CODE_SIGN_FLAGS = ""; 634 | PRODUCT_BUNDLE_IDENTIFIER = name.tuley.jay.cdto; 635 | PRODUCT_NAME = cd_to; 636 | PROVISIONING_PROFILE = ""; 637 | WRAPPER_EXTENSION = app; 638 | }; 639 | name = Release; 640 | }; 641 | C01FCF4F08A954540054247B /* Debug */ = { 642 | isa = XCBuildConfiguration; 643 | buildSettings = { 644 | CLANG_WARN_BOOL_CONVERSION = YES; 645 | CLANG_WARN_CONSTANT_CONVERSION = YES; 646 | CLANG_WARN_EMPTY_BODY = YES; 647 | CLANG_WARN_ENUM_CONVERSION = YES; 648 | CLANG_WARN_INFINITE_RECURSION = YES; 649 | CLANG_WARN_INT_CONVERSION = YES; 650 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 651 | CLANG_WARN_UNREACHABLE_CODE = YES; 652 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 653 | ENABLE_STRICT_OBJC_MSGSEND = YES; 654 | ENABLE_TESTABILITY = YES; 655 | GCC_NO_COMMON_BLOCKS = YES; 656 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 657 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 658 | GCC_WARN_UNDECLARED_SELECTOR = YES; 659 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 660 | GCC_WARN_UNUSED_FUNCTION = YES; 661 | GCC_WARN_UNUSED_VARIABLE = YES; 662 | INSTALL_PATH = ""; 663 | MACOSX_DEPLOYMENT_TARGET = 10.8; 664 | ONLY_ACTIVE_ARCH = YES; 665 | SDKROOT = macosx; 666 | }; 667 | name = Debug; 668 | }; 669 | C01FCF5008A954540054247B /* Release */ = { 670 | isa = XCBuildConfiguration; 671 | buildSettings = { 672 | CLANG_WARN_BOOL_CONVERSION = YES; 673 | CLANG_WARN_CONSTANT_CONVERSION = YES; 674 | CLANG_WARN_EMPTY_BODY = YES; 675 | CLANG_WARN_ENUM_CONVERSION = YES; 676 | CLANG_WARN_INFINITE_RECURSION = YES; 677 | CLANG_WARN_INT_CONVERSION = YES; 678 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 679 | CLANG_WARN_UNREACHABLE_CODE = YES; 680 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 681 | ENABLE_STRICT_OBJC_MSGSEND = YES; 682 | GCC_NO_COMMON_BLOCKS = YES; 683 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 684 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 685 | GCC_WARN_UNDECLARED_SELECTOR = YES; 686 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 687 | GCC_WARN_UNUSED_FUNCTION = YES; 688 | GCC_WARN_UNUSED_VARIABLE = YES; 689 | INSTALL_PATH = ""; 690 | MACOSX_DEPLOYMENT_TARGET = 10.8; 691 | SDKROOT = macosx; 692 | }; 693 | name = Release; 694 | }; 695 | /* End XCBuildConfiguration section */ 696 | 697 | /* Begin XCConfigurationList section */ 698 | 69968DB5183859F400FB4A35 /* Build configuration list for PBXAggregateTarget "cd_to all" */ = { 699 | isa = XCConfigurationList; 700 | buildConfigurations = ( 701 | 69968DB3183859F400FB4A35 /* Debug */, 702 | 69968DB4183859F400FB4A35 /* Release */, 703 | ); 704 | defaultConfigurationIsVisible = 0; 705 | defaultConfigurationName = Release; 706 | }; 707 | C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "cd_to" */ = { 708 | isa = XCConfigurationList; 709 | buildConfigurations = ( 710 | C01FCF4B08A954540054247B /* Debug */, 711 | C01FCF4C08A954540054247B /* Release */, 712 | ); 713 | defaultConfigurationIsVisible = 0; 714 | defaultConfigurationName = Release; 715 | }; 716 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "cd_to" */ = { 717 | isa = XCConfigurationList; 718 | buildConfigurations = ( 719 | C01FCF4F08A954540054247B /* Debug */, 720 | C01FCF5008A954540054247B /* Release */, 721 | ); 722 | defaultConfigurationIsVisible = 0; 723 | defaultConfigurationName = Release; 724 | }; 725 | /* End XCConfigurationList section */ 726 | }; 727 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 728 | } 729 | --------------------------------------------------------------------------------