Changeset 16 for trunk/Cocoa


Ignore:
Timestamp:
10/20/02 04:46:29 (22 years ago)
Author:
Nicholas Riley
Message:

F-Script Anywhere 1.1.5

Location:
trunk/Cocoa/F-Script Anywhere/Source
Files:
4 added
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cocoa/F-Script Anywhere/Source/DeVercruesseProcess.m

    r7 r16  
    2020//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    2121//  02111-1307, USA.
    22 
    23 // njr changes:
    2422
    2523#import "DeVercruesseProcess.h"
     
    102100- (NSString *)executableLoc;
    103101{
    104     CFURLRef bundleURL = CFURLCreateWithFileSystemPath(NULL, (CFStringRef) [self loc], kCFURLPOSIXPathStyle, NO);
    105     CFBundleRef bundleRef = CFBundleCreate(NULL, bundleURL);
     102    CFStringRef bundleLoc = (CFStringRef) [self loc];
     103    CFURLRef bundleURL;
     104    CFBundleRef bundleRef;
     105
     106    if (bundleLoc == NULL) {
     107        // GetProcessBundleLocation returns NULL on 10.1.5 for certain CFM Carbon applications (BBEdit 6.5.3) - njr
     108        return nil; // XXX should really handle this better, but for the purposes of F-Script Anywhere, we donÕt care if itÕs not a Carbon app, and this works fine going forward.
     109    }
     110   
     111    bundleURL = CFURLCreateWithFileSystemPath(NULL, bundleLoc, kCFURLPOSIXPathStyle, NO);
     112    bundleRef = CFBundleCreate(NULL, bundleURL);
    106113
    107114    if (bundleRef == NULL) {
     115        BOOL isDir;
    108116        CFRelease(bundleURL);
    109         return nil; // not a bundle
     117        if ([[NSFileManager defaultManager] fileExistsAtPath: [self loc] isDirectory: &isDir] && !isDir)
     118            return [self loc];
     119        return nil; // not a bundle or file
    110120    } else {
    111121        CFURLRef execURL = CFBundleCopyExecutableURL(bundleRef);
     
    144154    char                buffer[1025];
    145155    CFStringRef         pName;
    146     NSBundle            *b;
    147156   
    148157   
    149158    if( !name )
    150159    {
    151         if( [self loc] )
    152         {
    153             b = [NSBundle bundleWithPath:loc];
    154             if( b )
    155             {
    156                 name = [b localizedStringForKey:@"CFBundleName" value:@"_AsM_nO_nAmE_" table:@"InfoPlist"];
    157                
    158                 if( [name isEqualToString:@"_AsM_nO_nAmE_"] )
    159                     name = [[b infoDictionary] objectForKey:@"CFBundleName"];
    160                
    161                 if( name )
    162                     [name retain];
    163             }
    164         }
    165        
    166160        if( !name && (CopyProcessName( &psn, &pName) == noErr) )    // with thanks to Dylan Ashe
    167161        {
     
    173167            CFRelease( pName);
    174168        }
    175     }
    176    
    177     return name;
     169        // CFBundleName code demoted to alternate method because it was causing plist processing issues in Jaguar, yet CopyProcessName doesn't work for everything, e.g. Help Viewer - njr
     170        else if( [self loc] )
     171        {
     172            NSBundle *b = [NSBundle bundleWithPath:loc];
     173            if( b )
     174            {
     175                name = [b localizedStringForKey:@"CFBundleName" value:@"_AsM_nO_nAmE_" table:@"InfoPlist"];
     176
     177                if( [name isEqualToString:@"_AsM_nO_nAmE_"] )
     178                    name = [[b infoDictionary] objectForKey:@"CFBundleName"];
     179
     180                if( name )
     181                    [name retain];
     182            }
     183        }
     184       
     185   }
     186
     187    return name ? name : @"Çunknown nameÈ";
    178188}
    179189
  • trunk/Cocoa/F-Script Anywhere/Source/English.lproj/FSAViewAssociationPanel.nib/info.nib

    r7 r16  
    44<dict>
    55        <key>IBDocumentLocation</key>
    6         <string>558 -6 356 240 0 0 1600 1178 </string>
     6        <string>133 92 356 240 0 0 1600 1178 </string>
    77        <key>IBFramework Version</key>
    88        <string>263.2</string>
  • trunk/Cocoa/F-Script Anywhere/Source/English.lproj/MainMenu.nib/info.nib

    r7 r16  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
    3 <plist version="0.9">
     2<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     3<plist version="1.0">
    44<dict>
    55        <key>IBDocumentLocation</key>
     
    1111        </dict>
    1212        <key>IBFramework Version</key>
    13         <string>263.2</string>
     13        <string>283.0</string>
    1414        <key>IBOpenObjects</key>
    1515        <array>
     
    1818        </array>
    1919        <key>IBSystem Version</key>
    20         <string>5S66</string>
     20        <string>6C115</string>
    2121</dict>
    2222</plist>
  • trunk/Cocoa/F-Script Anywhere/Source/F-Script Anywhere.pbproj/nicholas.pbxuser

    r14 r16  
    1414                activeTarget = 29B97326FDCFA39411CA2CEA;
    1515                addToTargets = (
     16                        103DFC1B016C16650C000109,
    1617                );
    1718                breakpoints = (
    1819                        F5184FB202DF90C801AEEDB1,
    19                         F5FF507302E50EB501AEEDB1,
     20                        F57D63130318A6D601AEEDB1,
    2021                );
    2122                executables = (
     
    2324                );
    2425                perUserDictionary = {
    25                         PBXPerProjectTemplateStateSaveDate = 48675460;
    26                         "PBXTemplateGeometry-F5CA7EC8015C06940DCA290F" = {
    27                                 ContentSize = "{705, 569}";
     26                        PBXPerProjectTemplateStateSaveDate = 55214324;
     27                        "PBXTemplateGeometry-F5314676015831810DCA290F" = {
     28                                ContentSize = "{685, 434}";
    2829                                LeftSlideOut = {
    2930                                        Collapsed = NO;
    30                                         Frame = "{{0, 0}, {705, 569}}";
     31                                        Frame = "{{0, 23}, {685, 411}}";
    3132                                        Split0 = {
     33                                                ActiveTab = 2;
    3234                                                Collapsed = NO;
    33                                                 Frame = "{{0, 0}, {705, 569}}";
     35                                                Frame = "{{0, 0}, {685, 411}}";
    3436                                                Split0 = {
    35                                                         Frame = "{{0, 0}, {705, 569}}";
     37                                                        Frame = "{{0, 221}, {685, 190}}";
    3638                                                };
    3739                                                SplitCount = 1;
     
    3941                                                        Debugger = {
    4042                                                                Collapsed = NO;
    41                                                                 Frame = "{{0, 0}, {484, 208}}";
     43                                                                Frame = "{{0, 0}, {952, 321}}";
    4244                                                                Split0 = {
    43                                                                         Frame = "{{0, 24}, {484, 184}}";
     45                                                                        Frame = "{{0, 24}, {952, 297}}";
    4446                                                                        Split0 = {
    45                                                                                 Frame = "{{0, 0}, {236, 184}}";
     47                                                                                Frame = "{{0, 0}, {468, 297}}";
    4648                                                                        };
    4749                                                                        Split1 = {
    4850                                                                                DebugVariablesTableConfiguration = (
    4951                                                                                        Name,
    50                                                                                         48.80299,
     52                                                                                        126.803,
    5153                                                                                        Value,
    52                                                                                         71.07401,
     54                                                                                        150.074,
    5355                                                                                        Summary,
    54                                                                                         93.123,
     56                                                                                        172.123,
    5557                                                                                );
    56                                                                                 Frame = "{{245, 0}, {239, 184}}";
     58                                                                                Frame = "{{477, 0}, {475, 297}}";
    5759                                                                        };
    5860                                                                        SplitCount = 2;
     
    6870                                                                TabsVisible = YES;
    6971                                                        };
    70                                                         Frame = "{{0, 0}, {484, 208}}";
     72                                                        Frame = "{{0, 0}, {952, 321}}";
    7173                                                        LauncherConfigVersion = 7;
    7274                                                };
    7375                                                Tab1 = {
    74                                                         Frame = "{{0, 0}, {522, 208}}";
     76                                                        Frame = "{{0, 0}, {781, 452}}";
    7577                                                        LauncherConfigVersion = 3;
    7678                                                        Runner = {
    77                                                                 Frame = "{{0, 0}, {522, 208}}";
     79                                                                Frame = "{{0, 0}, {781, 452}}";
    7880                                                        };
    7981                                                };
    8082                                                Tab2 = {
    81                                                         BuildMessageFrame = "{{0, 0}, {809, 410}}";
    82                                                         BuildTranscriptFrame = "{{0, 419}, {809, 119}}";
    83                                                         Frame = "{{0, 0}, {807, 536}}";
     83                                                        BuildMessageFrame = "{{0, 0}, {687, 149}}";
     84                                                        BuildTranscriptFrame = "{{0, 158}, {687, 59}}";
     85                                                        Frame = "{{0, 0}, {685, 215}}";
    8486                                                };
    8587                                                Tab3 = {
     
    120122                                        };
    121123                                        Tab3 = {
    122                                                 Frame = "{{0, 0}, {222, 536}}";
    123                                                 Split0 = {
    124                                                         Frame = "{{0, 0}, {222, 379}}";
    125                                                         TargetTreeTableConfiguration = (
    126                                                                 ActiveTarget,
    127                                                                 16,
    128                                                                 TargetName,
    129                                                                 190,
    130                                                         );
    131                                                 };
    132                                                 Split1 = {
    133                                                         BuildStyleTreeTableConfiguration = (
    134                                                                 IsActive,
    135                                                                 16,
    136                                                                 Name,
    137                                                                 191,
    138                                                         );
    139                                                         Frame = "{{0, 388}, {222, 148}}";
    140                                                 };
    141                                                 SplitCount = 2;
     124                                                Frame = "{{0, 0}, {200, 100}}";
     125                                                TargetTableConfiguration = (
     126                                                        ActiveObject,
     127                                                        16,
     128                                                        ObjectNames,
     129                                                        202.296,
     130                                                );
    142131                                        };
    143132                                        Tab4 = {
    144                                                 ExecutableTreeTableConfiguration = (
    145                                                         ActiveExecutable,
    146                                                         16,
    147                                                         ExecutableName,
    148                                                         217,
    149                                                 );
    150                                                 Frame = "{{0, 0}, {250, 528}}";
    151                                         };
    152                                         Tab5 = {
    153133                                                BreakpointsTreeTableConfiguration = (
    154134                                                        breakpointColumn,
     
    159139                                                Frame = "{{0, 0}, {250, 100}}";
    160140                                        };
    161                                         TabCount = 6;
     141                                        TabCount = 5;
    162142                                        TabsVisible = NO;
    163143                                };
    164                                 StatusViewVisible = NO;
    165                                 Template = F5CA7EC8015C06940DCA290F;
     144                                StatusViewVisible = YES;
     145                                Template = F5314676015831810DCA290F;
    166146                                ToolbarVisible = YES;
    167                                 WindowLocation = "{388, 507}";
     147                                WindowLocation = "{589, 87}";
    168148                        };
    169149                        "PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
     
    191171                                                                                DebugVariablesTableConfiguration = (
    192172                                                                                        Name,
    193                                                                                         48.80299,
     173                                                                                        123,
    194174                                                                                        Value,
    195                                                                                         71.07401,
     175                                                                                        85,
    196176                                                                                        Summary,
    197                                                                                         93.123,
     177                                                                                        62.123,
    198178                                                                                );
    199179                                                                                Frame = "{{245, 0}, {239, 184}}";
     
    264244                                        Tab3 = {
    265245                                                Frame = "{{0, 0}, {200, 557}}";
    266                                                 Split0 = {
    267                                                         Frame = "{{0, 0}, {200, 270}}";
    268                                                         TargetTreeTableConfiguration = (
    269                                                                 ActiveTarget,
    270                                                                 16,
    271                                                                 TargetName,
    272                                                                 168,
    273                                                         );
    274                                                 };
    275                                                 Split1 = {
    276                                                         BuildStyleTreeTableConfiguration = (
    277                                                                 IsActive,
    278                                                                 16,
    279                                                                 Name,
    280                                                                 169,
    281                                                         );
    282                                                         Frame = "{{0, 279}, {200, 278}}";
    283                                                 };
    284                                                 SplitCount = 2;
     246                                                TargetTableConfiguration = (
     247                                                        ActiveObject,
     248                                                        16,
     249                                                        ObjectNames,
     250                                                        202.296,
     251                                                );
    285252                                        };
    286253                                        Tab4 = {
    287                                                 ExecutableTreeTableConfiguration = (
    288                                                         ActiveExecutable,
    289                                                         16,
    290                                                         ExecutableName,
    291                                                         217,
    292                                                 );
    293                                                 Frame = "{{0, 0}, {250, 100}}";
    294                                         };
    295                                         Tab5 = {
    296254                                                BreakpointsTreeTableConfiguration = (
    297255                                                        breakpointColumn,
     
    302260                                                Frame = "{{0, 0}, {250, 100}}";
    303261                                        };
    304                                         TabCount = 6;
     262                                        TabCount = 5;
    305263                                        TabsVisible = NO;
    306264                                };
     
    308266                                Template = F5CA7ECB015C094F0DCA290F;
    309267                                ToolbarVisible = NO;
    310                                 WindowLocation = "{48, 349}";
     268                                WindowLocation = "{489, 236}";
     269                        };
     270                        "PBXTemplateGeometry-F5CA7ECC015C09990DCA290F" = {
     271                                ContentSize = "{773, 558}";
     272                                LeftSlideOut = {
     273                                        Collapsed = NO;
     274                                        Frame = "{{0, 23}, {773, 535}}";
     275                                        Split0 = {
     276                                                ActiveTab = 0;
     277                                                Collapsed = NO;
     278                                                Frame = "{{24, 0}, {749, 535}}";
     279                                                Split0 = {
     280                                                        Frame = "{{0, 273}, {749, 262}}";
     281                                                };
     282                                                SplitCount = 1;
     283                                                Tab0 = {
     284                                                        Debugger = {
     285                                                                ActiveTab = 1;
     286                                                                Collapsed = NO;
     287                                                                Frame = "{{0, 0}, {749, 267}}";
     288                                                                Split0 = {
     289                                                                        Frame = "{{0, 169}, {749, 98}}";
     290                                                                        Split0 = {
     291                                                                                Frame = "{{0, 0}, {366, 98}}";
     292                                                                        };
     293                                                                        Split1 = {
     294                                                                                DebugVariablesTableConfiguration = (
     295                                                                                        Name,
     296                                                                                        93.80298,
     297                                                                                        Value,
     298                                                                                        116.074,
     299                                                                                        Summary,
     300                                                                                        138.123,
     301                                                                                );
     302                                                                                Frame = "{{375, 0}, {374, 98}}";
     303                                                                        };
     304                                                                        SplitCount = 2;
     305                                                                };
     306                                                                SplitCount = 1;
     307                                                                Tab0 = {
     308                                                                        Frame = "{{0, 0}, {100, 50}}";
     309                                                                };
     310                                                                Tab1 = {
     311                                                                        Frame = "{{0, 0}, {749, 145}}";
     312                                                                };
     313                                                                TabCount = 2;
     314                                                                TabsVisible = YES;
     315                                                        };
     316                                                        Frame = "{{0, 0}, {749, 267}}";
     317                                                        LauncherConfigVersion = 7;
     318                                                };
     319                                                Tab1 = {
     320                                                        Frame = "{{0, 0}, {664, 208}}";
     321                                                        LauncherConfigVersion = 3;
     322                                                        Runner = {
     323                                                                Frame = "{{0, 0}, {664, 208}}";
     324                                                        };
     325                                                };
     326                                                Tab2 = {
     327                                                        BuildMessageFrame = "{{0, 0}, {666, 43}}";
     328                                                        BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
     329                                                        Frame = "{{0, 0}, {664, 50}}";
     330                                                };
     331                                                Tab3 = {
     332                                                        Frame = "{{0, 0}, {612, 295}}";
     333                                                };
     334                                                TabCount = 4;
     335                                                TabsVisible = NO;
     336                                        };
     337                                        SplitCount = 1;
     338                                        Tab0 = {
     339                                                Frame = "{{0, 0}, {313, 531}}";
     340                                                GroupTreeTableConfiguration = (
     341                                                        TargetStatusColumn,
     342                                                        18,
     343                                                        MainColumn,
     344                                                        280,
     345                                                );
     346                                        };
     347                                        Tab1 = {
     348                                                ClassesFrame = "{{0, 0}, {280, 398}}";
     349                                                ClassesTreeTableConfiguration = (
     350                                                        PBXBookColumnIdentifier,
     351                                                        20,
     352                                                        PBXClassColumnIdentifier,
     353                                                        237,
     354                                                );
     355                                                Frame = "{{0, 0}, {278, 659}}";
     356                                                MembersFrame = "{{0, 407}, {280, 252}}";
     357                                                MembersTreeTableConfiguration = (
     358                                                        PBXBookColumnIdentifier,
     359                                                        20,
     360                                                        PBXMethodColumnIdentifier,
     361                                                        236,
     362                                                );
     363                                        };
     364                                        Tab2 = {
     365                                                Frame = "{{0, 0}, {200, 100}}";
     366                                        };
     367                                        Tab3 = {
     368                                                Frame = "{{0, 0}, {200, 557}}";
     369                                                TargetTableConfiguration = (
     370                                                        ActiveObject,
     371                                                        16,
     372                                                        ObjectNames,
     373                                                        202.296,
     374                                                );
     375                                        };
     376                                        Tab4 = {
     377                                                BreakpointsTreeTableConfiguration = (
     378                                                        breakpointColumn,
     379                                                        197,
     380                                                        enabledColumn,
     381                                                        31,
     382                                                );
     383                                                Frame = "{{0, 0}, {250, 100}}";
     384                                        };
     385                                        TabCount = 5;
     386                                        TabsVisible = YES;
     387                                };
     388                                StatusViewVisible = YES;
     389                                Template = F5CA7ECC015C09990DCA290F;
     390                                ToolbarVisible = YES;
     391                                WindowLocation = "{13, 212}";
    311392                        };
    312393                        PBXWorkspaceContents = (
     
    315396                                                Split0 = {
    316397                                                        Split0 = {
     398                                                                NavContent0 = {
     399                                                                        bookmark = F5486B9D034A85A801AEEDB1;
     400                                                                        history = (
     401                                                                                F5486B91034A85A801AEEDB1,
     402                                                                                F5486B92034A85A801AEEDB1,
     403                                                                                F5486B93034A85A801AEEDB1,
     404                                                                                F5486B94034A85A801AEEDB1,
     405                                                                                F5486B95034A85A801AEEDB1,
     406                                                                        );
     407                                                                        prevStack = (
     408                                                                                F5486B96034A85A801AEEDB1,
     409                                                                                F5486B97034A85A801AEEDB1,
     410                                                                                F5486B98034A85A801AEEDB1,
     411                                                                                F5486B99034A85A801AEEDB1,
     412                                                                                F5486B9A034A85A801AEEDB1,
     413                                                                                F5486B9B034A85A801AEEDB1,
     414                                                                                F5486B9C034A85A801AEEDB1,
     415                                                                        );
     416                                                                };
    317417                                                                NavCount = 1;
    318418                                                                NavGeometry0 = {
    319                                                                         Frame = "{{0, 0}, {150, 530}}";
     419                                                                        Frame = "{{0, 0}, {643, 567}}";
    320420                                                                        NavBarVisible = YES;
    321421                                                                };
     
    343443                                                        OptionsSetName = "Hierarchy, all classes";
    344444                                                };
    345                                                 Tab3 = {
    346                                                         SplitCount = 2;
    347                                                 };
    348                                                 TabCount = 6;
     445                                                TabCount = 5;
    349446                                        };
    350447                                },
     
    381478                                                        OptionsSetName = "Hierarchy, all classes";
    382479                                                };
    383                                                 Tab3 = {
    384                                                         SplitCount = 2;
    385                                                 };
    386                                                 TabCount = 6;
    387                                         };
    388                                 },
    389                                 {
    390                                         LeftSlideOut = {
    391                                                 Split0 = {
    392                                                         Split0 = {
    393                                                                 NavCount = 1;
    394                                                                 NavGeometry0 = {
    395                                                                         Frame = "{{0, 0}, {618, 150}}";
    396                                                                         NavBarVisible = YES;
    397                                                                 };
    398                                                         };
    399                                                         SplitCount = 1;
    400                                                         Tab0 = {
    401                                                                 Debugger = {
    402                                                                         Split0 = {
    403                                                                                 SplitCount = 2;
    404                                                                         };
    405                                                                         SplitCount = 1;
    406                                                                         TabCount = 2;
    407                                                                 };
    408                                                                 LauncherConfigVersion = 7;
    409                                                         };
    410                                                         Tab1 = {
    411                                                                 LauncherConfigVersion = 3;
    412                                                                 Runner = {
    413                                                                 };
    414                                                         };
    415                                                         TabCount = 4;
    416                                                 };
    417                                                 SplitCount = 1;
    418                                                 Tab1 = {
    419                                                         OptionsSetName = "Hierarchy, all classes";
    420                                                 };
    421                                                 Tab3 = {
    422                                                         SplitCount = 2;
    423                                                 };
    424                                                 TabCount = 6;
    425                                         };
    426                                 },
    427                                 {
    428                                         LeftSlideOut = {
    429                                                 Split0 = {
    430                                                         Split0 = {
    431                                                                 NavContent0 = {
    432                                                                         bookmark = F53CD13702E6A45601AEEDB1;
    433                                                                         history = (
    434                                                                                 F50BD5BE02E6897C01AEEDB1,
    435                                                                         );
    436                                                                 };
    437                                                                 NavCount = 1;
    438                                                                 NavGeometry0 = {
    439                                                                         Frame = "{{0, 0}, {668, 621}}";
    440                                                                         NavBarVisible = YES;
    441                                                                 };
    442                                                         };
    443                                                         SplitCount = 1;
    444                                                         Tab0 = {
    445                                                                 Debugger = {
    446                                                                         Split0 = {
    447                                                                                 SplitCount = 2;
    448                                                                         };
    449                                                                         SplitCount = 1;
    450                                                                         TabCount = 2;
    451                                                                 };
    452                                                                 LauncherConfigVersion = 7;
    453                                                         };
    454                                                         Tab1 = {
    455                                                                 LauncherConfigVersion = 3;
    456                                                                 Runner = {
    457                                                                 };
    458                                                         };
    459                                                         TabCount = 4;
    460                                                 };
    461                                                 SplitCount = 1;
    462                                                 Tab1 = {
    463                                                         OptionsSetName = "Hierarchy, all classes";
    464                                                 };
    465                                                 Tab3 = {
    466                                                         SplitCount = 2;
    467                                                 };
    468                                                 TabCount = 6;
     480                                                TabCount = 5;
    469481                                        };
    470482                                },
     
    472484                        PBXWorkspaceGeometries = (
    473485                                {
    474                                         ContentSize = "{352, 553}";
     486                                        ContentSize = "{927, 590}";
    475487                                        LeftSlideOut = {
    476488                                                ActiveTab = 0;
    477                                                 Collapsed = YES;
    478                                                 Frame = "{{0, 23}, {352, 530}}";
     489                                                Collapsed = NO;
     490                                                Frame = "{{0, 23}, {927, 567}}";
    479491                                                Split0 = {
    480492                                                        Collapsed = NO;
    481                                                         Frame = "{{1e+06, 1e+06}, {0, 530}}";
     493                                                        Frame = "{{284, 0}, {643, 567}}";
    482494                                                        Split0 = {
    483                                                                 Frame = "{{0, 0}, {0, 530}}";
     495                                                                Frame = "{{0, 0}, {643, 567}}";
    484496                                                        };
    485497                                                        SplitCount = 1;
     
    487499                                                                Debugger = {
    488500                                                                        Collapsed = NO;
    489                                                                         Frame = "{{0, 0}, {484, 208}}";
     501                                                                        Frame = "{{0, 0}, {681, 289}}";
    490502                                                                        Split0 = {
    491                                                                                 Frame = "{{0, 24}, {484, 184}}";
     503                                                                                Frame = "{{0, 24}, {681, 265}}";
    492504                                                                                Split0 = {
    493                                                                                         Frame = "{{0, 0}, {236, 184}}";
     505                                                                                        Frame = "{{0, 0}, {333, 265}}";
    494506                                                                                };
    495507                                                                                Split1 = {
    496508                                                                                        DebugVariablesTableConfiguration = (
    497509                                                                                                Name,
    498                                                                                                 48.80299,
     510                                                                                                82.80298,
    499511                                                                                                Value,
    500                                                                                                 71.07401,
     512                                                                                                104.074,
    501513                                                                                                Summary,
    502                                                                                                 93.123,
     514                                                                                                126.123,
    503515                                                                                        );
    504                                                                                         Frame = "{{245, 0}, {239, 184}}";
     516                                                                                        Frame = "{{342, 0}, {339, 265}}";
    505517                                                                                };
    506518                                                                                SplitCount = 2;
     
    516528                                                                        TabsVisible = YES;
    517529                                                                };
    518                                                                 Frame = "{{0, 0}, {484, 208}}";
     530                                                                Frame = "{{0, 0}, {681, 289}}";
    519531                                                                LauncherConfigVersion = 7;
    520532                                                        };
    521533                                                        Tab1 = {
    522                                                                 Frame = "{{0, 0}, {664, 208}}";
     534                                                                Frame = "{{0, 0}, {681, 120}}";
    523535                                                                LauncherConfigVersion = 3;
    524536                                                                Runner = {
    525                                                                         Frame = "{{0, 0}, {664, 208}}";
     537                                                                        Frame = "{{0, 0}, {681, 120}}";
    526538                                                                };
    527539                                                        };
    528540                                                        Tab2 = {
    529                                                                 BuildMessageFrame = "{{0, 0}, {666, 43}}";
    530                                                                 BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    531                                                                 Frame = "{{0, 0}, {664, 50}}";
     541                                                                BuildMessageFrame = "{{0, 0}, {683, 127}}";
     542                                                                BuildTranscriptFrame = "{{0, 136}, {683, 100}}";
     543                                                                Frame = "{{0, 0}, {681, 234}}";
    532544                                                        };
    533545                                                        Tab3 = {
    534                                                                 Frame = "{{0, 0}, {612, 295}}";
     546                                                                Frame = "{{0, 0}, {681, 238}}";
    535547                                                        };
    536548                                                        TabCount = 4;
     
    539551                                                SplitCount = 1;
    540552                                                Tab0 = {
    541                                                         Frame = "{{0, 0}, {328, 530}}";
     553                                                        Frame = "{{0, 0}, {260, 567}}";
    542554                                                        GroupTreeTableConfiguration = (
    543555                                                                TargetStatusColumn,
    544556                                                                18,
    545557                                                                MainColumn,
    546                                                                 295,
     558                                                                227,
    547559                                                        );
    548560                                                };
    549561                                                Tab1 = {
    550                                                         ClassesFrame = "{{0, 0}, {343, 348}}";
     562                                                        ClassesFrame = "{{0, 0}, {250, 333}}";
    551563                                                        ClassesTreeTableConfiguration = (
    552564                                                                PBXBookColumnIdentifier,
    553565                                                                20,
    554566                                                                PBXClassColumnIdentifier,
    555                                                                 300,
     567                                                                207,
    556568                                                        );
    557                                                         Frame = "{{0, 0}, {341, 578}}";
    558                                                         MembersFrame = "{{0, 357}, {343, 221}}";
     569                                                        Frame = "{{0, 0}, {248, 554}}";
     570                                                        MembersFrame = "{{0, 342}, {250, 212}}";
    559571                                                        MembersTreeTableConfiguration = (
    560572                                                                PBXBookColumnIdentifier,
    561573                                                                20,
    562574                                                                PBXMethodColumnIdentifier,
    563                                                                 299,
     575                                                                206,
    564576                                                        );
    565577                                                };
    566578                                                Tab2 = {
    567                                                         Frame = "{{0, 0}, {319, 576}}";
     579                                                        Frame = "{{0, 0}, {217, 554}}";
    568580                                                };
    569581                                                Tab3 = {
    570                                                         Frame = "{{0, 0}, {328, 530}}";
    571                                                         Split0 = {
    572                                                                 Frame = "{{0, 0}, {328, 255}}";
    573                                                                 TargetTreeTableConfiguration = (
    574                                                                         ActiveTarget,
    575                                                                         16,
    576                                                                         TargetName,
    577                                                                         296,
    578                                                                 );
    579                                                         };
    580                                                         Split1 = {
    581                                                                 BuildStyleTreeTableConfiguration = (
    582                                                                         IsActive,
    583                                                                         16,
    584                                                                         Name,
    585                                                                         297,
    586                                                                 );
    587                                                                 Frame = "{{0, 264}, {328, 266}}";
    588                                                         };
    589                                                         SplitCount = 2;
     582                                                        Frame = "{{0, 0}, {239, 554}}";
     583                                                        TargetTableConfiguration = (
     584                                                                ActiveObject,
     585                                                                16,
     586                                                                ObjectNames,
     587                                                                206.296,
     588                                                        );
    590589                                                };
    591590                                                Tab4 = {
    592                                                         ExecutableTreeTableConfiguration = (
    593                                                                 ActiveExecutable,
    594                                                                 16,
    595                                                                 ExecutableName,
    596                                                                 286,
    597                                                         );
    598                                                         Frame = "{{0, 0}, {319, 576}}";
    599                                                 };
    600                                                 Tab5 = {
    601591                                                        BreakpointsTreeTableConfiguration = (
    602592                                                                breakpointColumn,
    603                                                                 266,
     593                                                                197,
    604594                                                                enabledColumn,
    605595                                                                31,
    606596                                                        );
    607                                                         Frame = "{{0, 0}, {319, 576}}";
    608                                                 };
    609                                                 TabCount = 6;
     597                                                        Frame = "{{0, 0}, {250, 554}}";
     598                                                };
     599                                                TabCount = 5;
    610600                                                TabsVisible = YES;
    611601                                        };
    612602                                        StatusViewVisible = YES;
    613                                         Template = F5E465990156DFB90DCA290F;
     603                                        Template = 64ABBB4501FA494900185B06;
    614604                                        ToolbarVisible = YES;
    615                                         WindowLocation = "{4, 556}";
     605                                        WindowLocation = "{9, 520}";
    616606                                },
    617607                                {
     
    640630                                                                                        DebugVariablesTableConfiguration = (
    641631                                                                                                Name,
    642                                                                                                 102.803,
     632                                                                                                123,
    643633                                                                                                Value,
    644                                                                                                 125.074,
     634                                                                                                85,
    645635                                                                                                Summary,
    646                                                                                                 147.123,
     636                                                                                                167.123,
    647637                                                                                        );
    648638                                                                                        Frame = "{{403, 0}, {401, 297}}";
     
    713703                                                Tab3 = {
    714704                                                        Frame = "{{0, 0}, {200, 386}}";
    715                                                         Split0 = {
    716                                                                 Frame = "{{0, 0}, {200, 186}}";
    717                                                                 TargetTreeTableConfiguration = (
    718                                                                         ActiveTarget,
    719                                                                         16,
    720                                                                         TargetName,
    721                                                                         168,
    722                                                                 );
    723                                                         };
    724                                                         Split1 = {
    725                                                                 BuildStyleTreeTableConfiguration = (
    726                                                                         IsActive,
    727                                                                         16,
    728                                                                         Name,
    729                                                                         169,
    730                                                                 );
    731                                                                 Frame = "{{0, 195}, {200, 191}}";
    732                                                         };
    733                                                         SplitCount = 2;
     705                                                        TargetTableConfiguration = (
     706                                                                ActiveObject,
     707                                                                16,
     708                                                                ObjectNames,
     709                                                                202.296,
     710                                                        );
    734711                                                };
    735712                                                Tab4 = {
    736                                                         ExecutableTreeTableConfiguration = (
    737                                                                 ActiveExecutable,
    738                                                                 16,
    739                                                                 ExecutableName,
    740                                                                 217,
    741                                                         );
    742                                                         Frame = "{{0, 0}, {250, 386}}";
    743                                                 };
    744                                                 Tab5 = {
    745713                                                        BreakpointsTreeTableConfiguration = (
    746714                                                                breakpointColumn,
     
    749717                                                                31,
    750718                                                        );
    751                                                         Frame = "{{0, 0}, {250, 100}}";
    752                                                 };
    753                                                 TabCount = 6;
     719                                                        Frame = "{{0, 0}, {250, 386}}";
     720                                                };
     721                                                TabCount = 5;
    754722                                                TabsVisible = NO;
    755723                                        };
     
    757725                                        Template = F5534CB2020F3F8A0DCA290F;
    758726                                        ToolbarVisible = YES;
    759                                         WindowLocation = "{397, 507}";
    760                                 },
    761                                 {
    762                                         ContentSize = "{618, 257}";
    763                                         LeftSlideOut = {
    764                                                 Collapsed = NO;
    765                                                 Frame = "{{0, 23}, {618, 234}}";
    766                                                 Split0 = {
    767                                                         ActiveTab = 2;
    768                                                         Collapsed = YES;
    769                                                         Frame = "{{0, 0}, {618, 234}}";
    770                                                         Split0 = {
    771                                                                 Frame = "{{1e+06, 1e+06}, {618, 0}}";
    772                                                         };
    773                                                         SplitCount = 1;
    774                                                         Tab0 = {
    775                                                                 Debugger = {
    776                                                                         Collapsed = NO;
    777                                                                         Frame = "{{0, 0}, {952, 321}}";
    778                                                                         Split0 = {
    779                                                                                 Frame = "{{0, 24}, {952, 297}}";
    780                                                                                 Split0 = {
    781                                                                                         Frame = "{{0, 0}, {468, 297}}";
    782                                                                                 };
    783                                                                                 Split1 = {
    784                                                                                         DebugVariablesTableConfiguration = (
    785                                                                                                 Name,
    786                                                                                                 126.803,
    787                                                                                                 Value,
    788                                                                                                 150.074,
    789                                                                                                 Summary,
    790                                                                                                 172.123,
    791                                                                                         );
    792                                                                                         Frame = "{{477, 0}, {475, 297}}";
    793                                                                                 };
    794                                                                                 SplitCount = 2;
    795                                                                         };
    796                                                                         SplitCount = 1;
    797                                                                         Tab0 = {
    798                                                                                 Frame = "{{0, 0}, {100, 50}}";
    799                                                                         };
    800                                                                         Tab1 = {
    801                                                                                 Frame = "{{0, 0}, {100, 50}}";
    802                                                                         };
    803                                                                         TabCount = 2;
    804                                                                         TabsVisible = YES;
    805                                                                 };
    806                                                                 Frame = "{{0, 0}, {952, 321}}";
    807                                                                 LauncherConfigVersion = 7;
    808                                                         };
    809                                                         Tab1 = {
    810                                                                 Frame = "{{0, 0}, {781, 452}}";
    811                                                                 LauncherConfigVersion = 3;
    812                                                                 Runner = {
    813                                                                         Frame = "{{0, 0}, {781, 452}}";
    814                                                                 };
    815                                                         };
    816                                                         Tab2 = {
    817                                                                 BuildMessageFrame = "{{0, 0}, {620, 123}}";
    818                                                                 BuildTranscriptFrame = "{{0, 132}, {620, 98}}";
    819                                                                 Frame = "{{0, 0}, {618, 228}}";
    820                                                         };
    821                                                         Tab3 = {
    822                                                                 Frame = "{{0, 0}, {612, 295}}";
    823                                                         };
    824                                                         TabCount = 4;
    825                                                         TabsVisible = NO;
    826                                                 };
    827                                                 SplitCount = 1;
    828                                                 Tab0 = {
    829                                                         Frame = "{{0, 0}, {300, 533}}";
    830                                                         GroupTreeTableConfiguration = (
    831                                                                 TargetStatusColumn,
    832                                                                 18,
    833                                                                 MainColumn,
    834                                                                 267,
    835                                                         );
    836                                                 };
    837                                                 Tab1 = {
    838                                                         ClassesFrame = "{{0, 0}, {280, 398}}";
    839                                                         ClassesTreeTableConfiguration = (
    840                                                                 PBXBookColumnIdentifier,
    841                                                                 20,
    842                                                                 PBXClassColumnIdentifier,
    843                                                                 237,
    844                                                         );
    845                                                         Frame = "{{0, 0}, {278, 659}}";
    846                                                         MembersFrame = "{{0, 407}, {280, 252}}";
    847                                                         MembersTreeTableConfiguration = (
    848                                                                 PBXBookColumnIdentifier,
    849                                                                 20,
    850                                                                 PBXMethodColumnIdentifier,
    851                                                                 236,
    852                                                         );
    853                                                 };
    854                                                 Tab2 = {
    855                                                         Frame = "{{0, 0}, {200, 100}}";
    856                                                 };
    857                                                 Tab3 = {
    858                                                         Frame = "{{0, 0}, {200, 100}}";
    859                                                         Split0 = {
    860                                                                 Frame = "{{0, 0}, {200, 45}}";
    861                                                                 TargetTreeTableConfiguration = (
    862                                                                         ActiveTarget,
    863                                                                         16,
    864                                                                         TargetName,
    865                                                                         168,
    866                                                                 );
    867                                                         };
    868                                                         Split1 = {
    869                                                                 BuildStyleTreeTableConfiguration = (
    870                                                                         IsActive,
    871                                                                         16,
    872                                                                         Name,
    873                                                                         169,
    874                                                                 );
    875                                                                 Frame = "{{0, 54}, {200, 46}}";
    876                                                         };
    877                                                         SplitCount = 2;
    878                                                 };
    879                                                 Tab4 = {
    880                                                         ExecutableTreeTableConfiguration = (
    881                                                                 ActiveExecutable,
    882                                                                 16,
    883                                                                 ExecutableName,
    884                                                                 217,
    885                                                         );
    886                                                         Frame = "{{0, 0}, {250, 100}}";
    887                                                 };
    888                                                 Tab5 = {
    889                                                         BreakpointsTreeTableConfiguration = (
    890                                                                 breakpointColumn,
    891                                                                 197,
    892                                                                 enabledColumn,
    893                                                                 31,
    894                                                         );
    895                                                         Frame = "{{0, 0}, {250, 100}}";
    896                                                 };
    897                                                 TabCount = 6;
    898                                                 TabsVisible = NO;
    899                                         };
    900                                         StatusViewVisible = YES;
    901                                         Template = F5314676015831810DCA290F;
    902                                         ToolbarVisible = YES;
    903                                         WindowLocation = "{453, 592}";
    904                                 },
    905                                 {
    906                                         ContentSize = "{668, 621}";
    907                                         LeftSlideOut = {
    908                                                 Collapsed = NO;
    909                                                 Frame = "{{0, 0}, {668, 621}}";
    910                                                 Split0 = {
    911                                                         Collapsed = NO;
    912                                                         Frame = "{{0, 0}, {668, 621}}";
    913                                                         Split0 = {
    914                                                                 Frame = "{{0, 0}, {668, 621}}";
    915                                                         };
    916                                                         SplitCount = 1;
    917                                                         Tab0 = {
    918                                                                 Debugger = {
    919                                                                         Collapsed = NO;
    920                                                                         Frame = "{{0, 0}, {484, 208}}";
    921                                                                         Split0 = {
    922                                                                                 Frame = "{{0, 24}, {484, 184}}";
    923                                                                                 Split0 = {
    924                                                                                         Frame = "{{0, 0}, {236, 184}}";
    925                                                                                 };
    926                                                                                 Split1 = {
    927                                                                                         DebugVariablesTableConfiguration = (
    928                                                                                                 Name,
    929                                                                                                 48.80299,
    930                                                                                                 Value,
    931                                                                                                 71.07401,
    932                                                                                                 Summary,
    933                                                                                                 93.123,
    934                                                                                         );
    935                                                                                         Frame = "{{245, 0}, {239, 184}}";
    936                                                                                 };
    937                                                                                 SplitCount = 2;
    938                                                                         };
    939                                                                         SplitCount = 1;
    940                                                                         Tab0 = {
    941                                                                                 Frame = "{{0, 0}, {100, 50}}";
    942                                                                         };
    943                                                                         Tab1 = {
    944                                                                                 Frame = "{{0, 0}, {100, 50}}";
    945                                                                         };
    946                                                                         TabCount = 2;
    947                                                                         TabsVisible = YES;
    948                                                                 };
    949                                                                 Frame = "{{0, 0}, {484, 208}}";
    950                                                                 LauncherConfigVersion = 7;
    951                                                         };
    952                                                         Tab1 = {
    953                                                                 Frame = "{{0, 0}, {664, 208}}";
    954                                                                 LauncherConfigVersion = 3;
    955                                                                 Runner = {
    956                                                                         Frame = "{{0, 0}, {664, 208}}";
    957                                                                 };
    958                                                         };
    959                                                         Tab2 = {
    960                                                                 BuildMessageFrame = "{{0, 0}, {666, 43}}";
    961                                                                 BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    962                                                                 Frame = "{{0, 0}, {664, 50}}";
    963                                                         };
    964                                                         Tab3 = {
    965                                                                 Frame = "{{0, 0}, {612, 295}}";
    966                                                         };
    967                                                         TabCount = 4;
    968                                                         TabsVisible = NO;
    969                                                 };
    970                                                 SplitCount = 1;
    971                                                 Tab0 = {
    972                                                         Frame = "{{0, 0}, {313, 531}}";
    973                                                         GroupTreeTableConfiguration = (
    974                                                                 TargetStatusColumn,
    975                                                                 18,
    976                                                                 MainColumn,
    977                                                                 280,
    978                                                         );
    979                                                 };
    980                                                 Tab1 = {
    981                                                         ClassesFrame = "{{0, 0}, {280, 398}}";
    982                                                         ClassesTreeTableConfiguration = (
    983                                                                 PBXBookColumnIdentifier,
    984                                                                 20,
    985                                                                 PBXClassColumnIdentifier,
    986                                                                 237,
    987                                                         );
    988                                                         Frame = "{{0, 0}, {278, 659}}";
    989                                                         MembersFrame = "{{0, 407}, {280, 252}}";
    990                                                         MembersTreeTableConfiguration = (
    991                                                                 PBXBookColumnIdentifier,
    992                                                                 20,
    993                                                                 PBXMethodColumnIdentifier,
    994                                                                 236,
    995                                                         );
    996                                                 };
    997                                                 Tab2 = {
    998                                                         Frame = "{{0, 0}, {200, 100}}";
    999                                                 };
    1000                                                 Tab3 = {
    1001                                                         Frame = "{{0, 0}, {200, 557}}";
    1002                                                         Split0 = {
    1003                                                                 Frame = "{{0, 0}, {200, 270}}";
    1004                                                                 TargetTreeTableConfiguration = (
    1005                                                                         ActiveTarget,
    1006                                                                         16,
    1007                                                                         TargetName,
    1008                                                                         168,
    1009                                                                 );
    1010                                                         };
    1011                                                         Split1 = {
    1012                                                                 BuildStyleTreeTableConfiguration = (
    1013                                                                         IsActive,
    1014                                                                         16,
    1015                                                                         Name,
    1016                                                                         169,
    1017                                                                 );
    1018                                                                 Frame = "{{0, 279}, {200, 278}}";
    1019                                                         };
    1020                                                         SplitCount = 2;
    1021                                                 };
    1022                                                 Tab4 = {
    1023                                                         ExecutableTreeTableConfiguration = (
    1024                                                                 ActiveExecutable,
    1025                                                                 16,
    1026                                                                 ExecutableName,
    1027                                                                 217,
    1028                                                         );
    1029                                                         Frame = "{{0, 0}, {250, 100}}";
    1030                                                 };
    1031                                                 Tab5 = {
    1032                                                         BreakpointsTreeTableConfiguration = (
    1033                                                                 breakpointColumn,
    1034                                                                 197,
    1035                                                                 enabledColumn,
    1036                                                                 31,
    1037                                                         );
    1038                                                         Frame = "{{0, 0}, {250, 100}}";
    1039                                                 };
    1040                                                 TabCount = 6;
    1041                                                 TabsVisible = NO;
    1042                                         };
    1043                                         StatusViewVisible = NO;
    1044                                         Template = F5CA7ECB015C094F0DCA290F;
    1045                                         ToolbarVisible = NO;
    1046                                         WindowLocation = "{385, 535}";
     727                                        WindowLocation = "{4, 633}";
    1047728                                },
    1048729                        );
    1049                         PBXWorkspaceStateSaveDate = 48675460;
     730                        PBXWorkspaceStateSaveDate = 55214324;
    1050731                };
    1051732                perUserProjectItems = {
    1052                         F50BD5BE02E6897C01AEEDB1 = F50BD5BE02E6897C01AEEDB1;
    1053                         F53CD13702E6A45601AEEDB1 = F53CD13702E6A45601AEEDB1;
     733                        F5486B91034A85A801AEEDB1 = F5486B91034A85A801AEEDB1;
     734                        F5486B92034A85A801AEEDB1 = F5486B92034A85A801AEEDB1;
     735                        F5486B93034A85A801AEEDB1 = F5486B93034A85A801AEEDB1;
     736                        F5486B94034A85A801AEEDB1 = F5486B94034A85A801AEEDB1;
     737                        F5486B95034A85A801AEEDB1 = F5486B95034A85A801AEEDB1;
     738                        F5486B96034A85A801AEEDB1 = F5486B96034A85A801AEEDB1;
     739                        F5486B97034A85A801AEEDB1 = F5486B97034A85A801AEEDB1;
     740                        F5486B98034A85A801AEEDB1 = F5486B98034A85A801AEEDB1;
     741                        F5486B99034A85A801AEEDB1 = F5486B99034A85A801AEEDB1;
     742                        F5486B9A034A85A801AEEDB1 = F5486B9A034A85A801AEEDB1;
     743                        F5486B9B034A85A801AEEDB1 = F5486B9B034A85A801AEEDB1;
     744                        F5486B9C034A85A801AEEDB1 = F5486B9C034A85A801AEEDB1;
     745                        F5486B9D034A85A801AEEDB1 = F5486B9D034A85A801AEEDB1;
    1054746                };
    1055747                projectwideBuildSettings = {
     
    1064756                );
    1065757        };
    1066         F50BD5BE02E6897C01AEEDB1 = {
    1067                 fRef = F5FF50BD02E53B9E01AEEDB1;
    1068                 isa = PBXTextBookmark;
    1069                 name = "FSAViewAssociationController.m: 94";
    1070                 rLen = 0;
    1071                 rLoc = 3104;
    1072                 rType = 0;
    1073                 vrLen = 1429;
    1074                 vrLoc = 2322;
    1075         };
    1076758        F5184FB202DF90C801AEEDB1 = {
    1077759                fileReference = F5EFC2CA020A6CD101AEEDB1;
    1078760                isa = PBXFileBreakpoint;
    1079761                lineNumber = 162;
    1080                 state = 1;
    1081         };
    1082         F53CD13702E6A45601AEEDB1 = {
     762                state = 2;
     763        };
     764        F5486B91034A85A801AEEDB1 = {
     765                fRef = F5EFC2C9020A6CD101AEEDB1;
     766                isa = PBXTextBookmark;
     767                name = "DeVercruesseProcess.m: initWithPSN:";
     768                rLen = 0;
     769                rLoc = 2022;
     770                rType = 0;
     771                vrLen = 863;
     772                vrLoc = 1426;
     773        };
     774        F5486B92034A85A801AEEDB1 = {
    1083775                fRef = F5FF50BD02E53B9E01AEEDB1;
    1084776                isa = PBXTextBookmark;
    1085                 name = "FSAViewAssociationController.m: 94";
    1086                 rLen = 0;
    1087                 rLoc = 3104;
    1088                 rType = 0;
    1089                 vrLen = 1429;
    1090                 vrLoc = 2322;
     777                name = "FSAViewAssociationController.m: __STDC__";
     778                rLen = 0;
     779                rLoc = 179;
     780                rType = 0;
     781                vrLen = 1261;
     782                vrLoc = 0;
     783        };
     784        F5486B93034A85A801AEEDB1 = {
     785                fRef = F5FD788A034828E101AEEDB1;
     786                isa = PBXTextBookmark;
     787                name = "FSAWindowManager.m: 270";
     788                rLen = 0;
     789                rLoc = 8244;
     790                rType = 0;
     791                vrLen = 1209;
     792                vrLoc = 6919;
     793        };
     794        F5486B94034A85A801AEEDB1 = {
     795                fRef = F574ADDB020ACAC801AEEDB1;
     796                isa = PBXTextBookmark;
     797                name = "FSAController.m: FSA_associateWithInterface:";
     798                rLen = 0;
     799                rLoc = 8299;
     800                rType = 0;
     801                vrLen = 1094;
     802                vrLoc = 7296;
     803        };
     804        F5486B95034A85A801AEEDB1 = {
     805                fRef = F523EA2B020CF06A01AEEC37;
     806                isa = PBXTextBookmark;
     807                name = "FSAnywhere.h: 1";
     808                rLen = 0;
     809                rLoc = 0;
     810                rType = 0;
     811                vrLen = 319;
     812                vrLoc = 0;
     813        };
     814        F5486B96034A85A801AEEDB1 = {
     815                fRef = F5EFC2C9020A6CD101AEEDB1;
     816                isa = PBXTextBookmark;
     817                name = "DeVercruesseProcess.m: initWithPSN:";
     818                rLen = 0;
     819                rLoc = 2022;
     820                rType = 0;
     821                vrLen = 863;
     822                vrLoc = 1426;
     823        };
     824        F5486B97034A85A801AEEDB1 = {
     825                fRef = F523EA2B020CF06A01AEEC37;
     826                isa = PBXTextBookmark;
     827                name = "FSAnywhere.h: 1";
     828                rLen = 0;
     829                rLoc = 0;
     830                rType = 0;
     831                vrLen = 319;
     832                vrLoc = 0;
     833        };
     834        F5486B98034A85A801AEEDB1 = {
     835                fRef = F574ADDB020ACAC801AEEDB1;
     836                isa = PBXTextBookmark;
     837                name = "FSAController.m: __VERSION__";
     838                rLen = 0;
     839                rLoc = 0;
     840                rType = 0;
     841                vrLen = 1163;
     842                vrLoc = 0;
     843        };
     844        F5486B99034A85A801AEEDB1 = {
     845                fRef = F5FF50BD02E53B9E01AEEDB1;
     846                isa = PBXTextBookmark;
     847                name = "FSAViewAssociationController.m: __STDC__";
     848                rLen = 0;
     849                rLoc = 179;
     850                rType = 0;
     851                vrLen = 1261;
     852                vrLoc = 0;
     853        };
     854        F5486B9A034A85A801AEEDB1 = {
     855                fRef = F574ADDB020ACAC801AEEDB1;
     856                isa = PBXTextBookmark;
     857                name = "FSAController.m: FSA_associateWithInterface:";
     858                rLen = 0;
     859                rLoc = 8336;
     860                rType = 0;
     861                vrLen = 1027;
     862                vrLoc = 7296;
     863        };
     864        F5486B9B034A85A801AEEDB1 = {
     865                fRef = F5FD788A034828E101AEEDB1;
     866                isa = PBXTextBookmark;
     867                name = "FSAWindowManager.m: 270";
     868                rLen = 0;
     869                rLoc = 8244;
     870                rType = 0;
     871                vrLen = 1209;
     872                vrLoc = 6919;
     873        };
     874        F5486B9C034A85A801AEEDB1 = {
     875                fRef = F574ADDB020ACAC801AEEDB1;
     876                isa = PBXTextBookmark;
     877                name = "FSAController.m: FSA_associateWithInterface:";
     878                rLen = 0;
     879                rLoc = 8299;
     880                rType = 0;
     881                vrLen = 1094;
     882                vrLoc = 7296;
     883        };
     884        F5486B9D034A85A801AEEDB1 = {
     885                fRef = F523EA2B020CF06A01AEEC37;
     886                isa = PBXTextBookmark;
     887                name = "FSAnywhere.h: 9";
     888                rLen = 0;
     889                rLoc = 176;
     890                rType = 0;
     891                vrLen = 319;
     892                vrLoc = 0;
    1091893        };
    1092894        F574ADDB020ACAC801AEEDB1 = {
     
    1094896                        sepNavWindowFrame = "{{15, 671}, {750, 502}}";
    1095897                };
     898        };
     899        F57D63130318A6D601AEEDB1 = {
     900                isa = PBXSymbolicBreakpoint;
     901                state = 1;
     902                symbolName = CFLog;
    1096903        };
    1097904        F59279F301FEA34701AEEC37 = {
     
    1126933                };
    1127934        };
    1128         F5FF507302E50EB501AEEDB1 = {
    1129                 fileReference = F5EFC2C9020A6CD101AEEDB1;
    1130                 isa = PBXFileBreakpoint;
    1131                 lineNumber = 92;
    1132                 state = 1;
    1133         };
    1134935}
  • trunk/Cocoa/F-Script Anywhere/Source/F-Script Anywhere.pbproj/project.pbxproj

    r14 r16  
    107107                                F523EA2C020CF06A01AEEC37,
    108108                                F5FF50BE02E53B9E01AEEDB1,
     109                                F5FD788B034828E101AEEDB1,
    109110                        );
    110111                        isa = PBXHeadersBuildPhase;
     112                        runOnlyForDeploymentPostprocessing = 0;
    111113                };
    112114                103DFC1D016C16650C000109 = {
     
    117119                                F523EA2F020CF15B01AEEC37,
    118120                                F5FF50BF02E53B9E01AEEDB1,
     121                                F5FD788C034828E101AEEDB1,
    119122                        );
    120123                        isa = PBXSourcesBuildPhase;
     124                        runOnlyForDeploymentPostprocessing = 0;
    121125                };
    122126                103DFC1E016C16650C000109 = {
     
    127131                        );
    128132                        isa = PBXFrameworksBuildPhase;
     133                        runOnlyForDeploymentPostprocessing = 0;
    129134                };
    130135                103DFC1F016C16650C000109 = {
     
    133138                        );
    134139                        isa = PBXRezBuildPhase;
     140                        runOnlyForDeploymentPostprocessing = 0;
    135141                };
    136142                103DFC20016C16E20C000109 = {
     
    153159                        );
    154160                        isa = PBXCopyFilesBuildPhase;
     161                        runOnlyForDeploymentPostprocessing = 0;
    155162                };
    156163                1058C7A1FEA54F0111CA2CBB = {
     
    261268                                F5FF50BC02E53B9E01AEEDB1,
    262269                                F5FF50BD02E53B9E01AEEDB1,
     270                                F5FD7889034828E101AEEDB1,
     271                                F5FD788A034828E101AEEDB1,
    263272                        );
    264273                        isa = PBXGroup;
     
    279288                                089C165CFE840E0CC02AAC07,
    280289                                F535E67D020CD95201AEEC37,
     290                                F5694E2702E96FFE01AEEDB1,
     291                                F57D63160319B6CA01AEEDB1,
    281292                                F523EA29020CEF5001AEEC37,
    282293                                F5680F83020D369A01AEEC37,
     
    308319                                F59279FB01FED0C901AEEC37,
    309320                                1058C7A1FEA54F0111CA2CBB,
    310                                 F5EFC2D3020A6D2C01AEEDB1,
    311321                                108927070180B1F40C000084,
    312322                                F5EFC2C3020A6C2601AEEDB1,
     
    333343                                LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../Darwin source/Commands/Apple/cctools/libstuff\"";
    334344                                OTHER_LDFLAGS = "-multiply_defined suppress -lstuff";
     345                                PREBINDING = NO;
    335346                                PRODUCT_NAME = "F-Script Anywhere";
    336347                                SECTORDER_FLAGS = "";
     
    347358                        productReference = 17587328FF379C6511CA2CBB;
    348359                        productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    349 <!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\">
    350 <plist version=\"0.9\">
     360<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
     361<plist version=\"1.0\">
    351362<dict>
    352363        <key>CFBundleDevelopmentRegion</key>
     
    355366        <string>F-Script Anywhere</string>
    356367        <key>CFBundleGetInfoString</key>
    357         <string>F-Script Anywhere 1.1.2, © 2002 Nicholas Riley</string>
     368        <string>F-Script Anywhere 1.1.5, © 2002 Nicholas Riley</string>
    358369        <key>CFBundleIconFile</key>
    359370        <string>Application icon</string>
     
    367378        <string>APPL</string>
    368379        <key>CFBundleShortVersionString</key>
    369         <string>1.1.2</string>
     380        <string>1.1.5</string>
    370381        <key>CFBundleSignature</key>
    371382        <string>FSAn</string>
    372383        <key>CFBundleVersion</key>
    373         <string>1.1.2</string>
     384        <string>1.1.5</string>
    374385        <key>NSMainNibFile</key>
    375386        <string>MainMenu</string>
     
    397408                        );
    398409                        isa = PBXHeadersBuildPhase;
     410                        runOnlyForDeploymentPostprocessing = 0;
    399411                };
    400412                29B97328FDCFA39411CA2CEA = {
     
    407419                                F5680F7C020D0D0401AEEC37,
    408420                                F5FF50C202E5418F01AEEDB1,
     421                                F5694E2802E96FFE01AEEDB1,
     422                                F57D63170319B6CA01AEEDB1,
    409423                        );
    410424                        isa = PBXResourcesBuildPhase;
     425                        runOnlyForDeploymentPostprocessing = 0;
    411426                };
    412427                29B9732BFDCFA39411CA2CEA = {
     
    427442                        );
    428443                        isa = PBXSourcesBuildPhase;
     444                        runOnlyForDeploymentPostprocessing = 0;
    429445                };
    430446                29B9732CFDCFA39411CA2CEA = {
     
    441457                                1058C7A3FEA54F0111CA2CBB,
    442458                                108927080180B1F40C000084,
    443                                 F5EFC2D4020A6D2C01AEEDB1,
    444459                                F5EFC2D5020A6D3701AEEDB1,
    445460                        );
    446461                        isa = PBXFrameworksBuildPhase;
     462                        runOnlyForDeploymentPostprocessing = 0;
    447463                };
    448464//290
     
    471487                        buildSettings = {
    472488                                COPY_PHASE_STRIP = YES;
     489                                OTHER_CFLAGS = "-DFSA_DEBUG=0";
    473490                        };
    474491                        isa = PBXBuildStyle;
     
    557574                        );
    558575                        isa = PBXCopyFilesBuildPhase;
     576                        runOnlyForDeploymentPostprocessing = 0;
    559577                };
    560578                F52D400402D2C7A501AEEDB1 = {
     
    638656                        neededFileNames = (
    639657                        );
     658                        runOnlyForDeploymentPostprocessing = 1;
    640659                        shellPath = /bin/sh;
    641660                        shellScript = "# Copy various README files into DSTROOT if building a root\n\nif [ z\"${DSTROOT}\" != z\"\" ] ; then\n    rm -f \"${DSTROOT}/Read Me\"\n    tr '\\n' '\\r' < \"Read Me\" > \"${DSTROOT}/Read Me\"\n    cp \"Read Me.rsrc\" \"${DSTROOT}/Read Me/..namedfork/rsrc\"\n    /Developer/Tools/SetFile -t 'ttro' -c 'ttxt' \"${DSTROOT}/Read Me\"\n        \n    # Create Darwin source directory\n    mkdir \"${DSTROOT}/Darwin source\"\n    \n    # Fix permissions so ditto doesn't lock people out\n    chmod -R a+rX,u+w \"${DSTROOT}\"\nfi";
     
    647666                        refType = 2;
    648667                };
     668                F5694E2702E96FFE01AEEDB1 = {
     669                        isa = PBXFileReference;
     670                        path = "Bullseye menu cursor.tiff";
     671                        refType = 4;
     672                };
     673                F5694E2802E96FFE01AEEDB1 = {
     674                        fileRef = F5694E2702E96FFE01AEEDB1;
     675                        isa = PBXBuildFile;
     676                        settings = {
     677                        };
     678                };
    649679                F574ADD5020AC10F01AEEDB1 = {
    650680                        isa = PBXFileReference;
     
    687717                F574ADE0020ACCDF01AEEDB1 = {
    688718                        fileRef = F574ADDB020ACAC801AEEDB1;
     719                        isa = PBXBuildFile;
     720                        settings = {
     721                        };
     722                };
     723                F57D63160319B6CA01AEEDB1 = {
     724                        isa = PBXFileReference;
     725                        path = "Fallback checkmark.tiff";
     726                        refType = 4;
     727                };
     728                F57D63170319B6CA01AEEDB1 = {
     729                        fileRef = F57D63160319B6CA01AEEDB1;
    689730                        isa = PBXBuildFile;
    690731                        settings = {
     
    771812                F5EFC2D2020A6CEC01AEEDB1 = {
    772813                        fileRef = F5EFC2D1020A6CEC01AEEDB1;
    773                         isa = PBXBuildFile;
    774                         settings = {
    775                         };
    776                 };
    777                 F5EFC2D3020A6D2C01AEEDB1 = {
    778                         isa = PBXFrameworkReference;
    779                         name = HIServices.framework;
    780                         path = /System/Library/PrivateFrameworks/HIServices.framework;
    781                         refType = 0;
    782                 };
    783                 F5EFC2D4020A6D2C01AEEDB1 = {
    784                         fileRef = F5EFC2D3020A6D2C01AEEDB1;
    785814                        isa = PBXBuildFile;
    786815                        settings = {
     
    929958                        };
    930959                };
     960                F5FD7889034828E101AEEDB1 = {
     961                        isa = PBXFileReference;
     962                        path = FSAWindowManager.h;
     963                        refType = 4;
     964                };
     965                F5FD788A034828E101AEEDB1 = {
     966                        isa = PBXFileReference;
     967                        path = FSAWindowManager.m;
     968                        refType = 4;
     969                };
     970                F5FD788B034828E101AEEDB1 = {
     971                        fileRef = F5FD7889034828E101AEEDB1;
     972                        isa = PBXBuildFile;
     973                        settings = {
     974                        };
     975                };
     976                F5FD788C034828E101AEEDB1 = {
     977                        fileRef = F5FD788A034828E101AEEDB1;
     978                        isa = PBXBuildFile;
     979                        settings = {
     980                        };
     981                };
    931982                F5FF50BC02E53B9E01AEEDB1 = {
    932983                        isa = PBXFileReference;
  • trunk/Cocoa/F-Script Anywhere/Source/FSAApp.m

    r7 r16  
    106106        }
    107107    }
    108     [[PatchController sharedPatchController] setDelegate:self];
     108    [[PatchController sharedPatchController] setDelegate: self];
     109    // In Jaguar 6C115, libPatch no longer delivers process death notifications to the application unless it registers for NSWorkspaceDidTerminateApplicationNotification.  (Process launch notifications are still received.)
     110    [[[NSWorkspace sharedWorkspace] notificationCenter]
     111        addObserver: self
     112           selector: @selector(applicationDidTerminate:)
     113               name: NSWorkspaceDidTerminateApplicationNotification
     114             object: nil];
    109115}
    110116
     
    167173@end
    168174
     175@implementation FSAApp (NSWorkspaceNotifications)
     176
     177- (void)applicationDidTerminate:(NSNotification *)notification;
     178{
     179    NSDictionary *userInfo = [notification userInfo];
     180    FSALog(@"Process terminated (pid %6d): %@\n",
     181           [[userInfo objectForKey: @"NSApplicationProcessIdentifier"] intValue],
     182           [userInfo objectForKey: @"NSApplicationName"]);
     183    // Don't do anything here, this is a dummy method triggered by a NSWorkspaceDidTerminateApplicationNotification
     184}
     185
     186@end
     187
    169188@implementation FSAApp (PatchControllerDelegate)
    170189
     
    174193}
    175194
     195// this delegate method is never invoked in Mac OS X 10.2 unless I register for NSWorkspaceDidTerminateApplicationNotification
    176196- (void) notifyProcessDeath:(pid_t)pid info:(NSDictionary*)info
    177197{
  • trunk/Cocoa/F-Script Anywhere/Source/FSAAppList.m

    r7 r16  
    2525*/
    2626
     27#import "FSAnywhere.h"
    2728#import "FSAAppList.h"
    2829#import "FSAApp.h"
     
    3233#import "NSTableView-NJRExtensions.h"
    3334
     35// for appIsPEF:
     36#import <Carbon/Carbon.h>
     37#import <fcntl.h>
     38#import <unistd.h>
     39
    3440NSString * const FSATableColumnIdentifier_appNameAndIcon = @"appNameAndIcon";
    3541NSString * const FSATableColumnIdentifier_checkMark = @"checkMark";
    3642
    3743NSString *FSACheckMarkCharacter;
     44NSImage *FSACheckMarkImage;
    3845
    3946static const char *FSACocoaFrameworks[] = {
     
    4653@implementation FSAAppList
    4754
    48 + (void)load;
     55+ (void)initialize;
    4956{
    5057    FSACheckMarkCharacter = [[NSString alloc] initWithCharacters: (const unichar *)"\x27\x13" length: 1];
     58    FSACheckMarkImage = [NSImage imageNamed: @"NSMenuCheckmark"];
     59    if (FSACheckMarkImage == nil) {
     60        FSACheckMarkImage = [[NSImage alloc] initByReferencingFile: [[NSBundle mainBundle] pathForResource: @"Fallback checkmark" ofType: @"tiff"]];
     61        if (FSACheckMarkImage != nil && ![FSACheckMarkImage isValid]) {
     62            [FSACheckMarkImage release];
     63            FSACheckMarkImage = nil;
     64        }
     65        FSALog(@"Falling back to checkmark image from bundle: %@", FSACheckMarkImage);
     66    }
    5167}
    5268
     
    6076    [[tableView tableColumnWithIdentifier: FSATableColumnIdentifier_appNameAndIcon]
    6177        setDataCell: [NJRLabeledImageCell cell]];
     78    if (FSACheckMarkImage != nil)
     79        [[tableView tableColumnWithIdentifier: FSATableColumnIdentifier_checkMark]
     80            setDataCell: [[[NSImageCell alloc] init] autorelease]];
    6281    [[tableView window] setResizeIncrements: NSMakeSize(1, [tableView cellHeight])];
    6382
     
    90109}
    91110
     111- (BOOL)appIsPEF:(DeVercruesseProcess *)app;
     112{
     113    NSString *bundleExecutableLoc = [app executableLoc];
     114    const char *bundleExecutablePath;
     115    int fd;
     116    PEFContainerHeader pefHeader;
     117
     118    if (bundleExecutableLoc == NULL)
     119        return NO;
     120   
     121    if ( (bundleExecutablePath = [bundleExecutableLoc fileSystemRepresentation]) == NULL)
     122        return NO;
     123
     124    if ( (fd = open(bundleExecutablePath, O_RDONLY, 0)) == -1)
     125        return NO;
     126
     127    if (read(fd, &pefHeader, sizeof(pefHeader)) != sizeof(pefHeader))
     128        return NO;
     129   
     130    if (pefHeader.tag1 != kPEFTag1 || pefHeader.tag2 != kPEFTag2)
     131        return NO;
     132
     133    return YES;
     134}
     135
    92136- (BOOL)appIsCocoa:(DeVercruesseProcess *)app;
    93137{
     
    100144- (void)addApp:(DeVercruesseProcess *)app;
    101145{
    102     if ( ([app isCarbon] || [app isCocoa]) // XXX OS X 10.1.2 (and earlier?) bug, Cocoa reported as Carbon
    103          && ![app isBackgroundOnly]
    104          && [self appIsCocoa: app]) {
     146    /* Try to determine if the application is a foreground Cocoa application.
     147       In Jaguar, itÕs possible to mix Cocoa in a primarily Carbon application,
     148       but we don't support such hybrids because the menu items we add depend
     149       on Cocoa dispatch mechanisms.
     150   
     151       The CPS 'flavor' mechanism (isCarbon, isCocoa) is broken in Mac OS X
     152       10.1.2 through 10.1.5 and possibly earlier, reporting that all Cocoa apps
     153       are Carbon apps.  So we use some code extracted from otool to check
     154       whether the application links to the Foundation, AppKit or Cocoa
     155       frameworks.  This problem is fixed in Jaguar, except that certain CFM
     156       Carbon apps are reported to be Cocoa apps (Drop Drawers is one example).
     157       Conversely, the appIsCocoa: code works on _most_ applications, but
     158       Jaguar always correctly identifies Cocoa apps as isCocoa.
     159
     160       So, our checks go like this:
     161         Is the application background-only?
     162         Is the application Cocoa or Carbon according to the CPS flavor?
     163           If it's Cocoa, is it a CFM app?  If so, CPS is lying to us.
     164           If it's "Carbon", does it link to AppKit, Foundation or Cocoa?
     165             If so, it's really a Cocoa app.  If not, it's a Carbon app.
     166   
     167       Be careful not to call appIsCocoa: on a Classic application, you will
     168       crash.
     169    */
     170
     171    /*
     172    if ([app isCocoa] || [app isCarbon]) {
     173        NSLog(@"%@ |%@%@%@%@%@", [app name],
     174              [app isBackgroundOnly] ? @" bgOnly" : @"",
     175              [app isCocoa] ? @" isCocoa" : @"",
     176              [app isCarbon] ? @" isCarbon" : @"",
     177              [self appIsPEF: app] ? @" appIsPEF" : @"",
     178              [self appIsCocoa: app] ? @" appIsCocoa" : @"");
     179    }
     180    */
     181         
     182    if ( ![app isBackgroundOnly] &&
     183         ( ( [app isCocoa] && ![self appIsPEF: app]) ||
     184           ( [app isCarbon] && [self appIsCocoa: app]))) {
    105185        [cocoaApps addObject: app];
    106186    }
     
    203283        return [(DeVercruesseProcess *)[cocoaApps objectAtIndex: rowIndex] name];
    204284    } else if ([columnIdentifier isEqualToString: FSATableColumnIdentifier_checkMark]) {
    205         return [patchedApps containsObject: [cocoaApps objectAtIndex: rowIndex]] ? FSACheckMarkCharacter : @"";
     285        BOOL isPatched = [patchedApps containsObject: [cocoaApps objectAtIndex: rowIndex]];
     286        if (FSACheckMarkImage == nil)
     287            return isPatched ? FSACheckMarkCharacter : @"";
     288        else
     289            return isPatched ? FSACheckMarkImage : nil;
    206290    }
    207291    return nil;
  • trunk/Cocoa/F-Script Anywhere/Source/Read Me

    r14 r16  
    1 F-Script Anywhere 1.1.2 [18 July 2002]
     1F-Script Anywhere 1.1.5 [1 October 2002]
    22=======================
    33
     
    2424directory, such as /Library/Frameworks or ~/Library/Frameworks.
    2525
    26 F-Script Anywhere 1.1.2 was tested with FScript.framework 1.2.2
    27 (20020604) and Mac OS X 10.1.5 (5S66).  It may or may not work with
    28 earlier or later versions, I don't know.  If you are using an earlier
    29 F-Script version, please upgrade.
     26F-Script Anywhere 1.1.5 was tested with FScript.framework 1.2.2
     27(20020604), Mac OS X 10.1.5 (5S66) and 10.2.1 (6D52).  It may or may
     28not work with earlier or later versions, I don't know.  If you are
     29using an earlier F-Script version, please upgrade.
    3030
    3131
     
    65651. Install FScript.framework (see above).
    6666
    67 2. Install libPatch by Ed Wynne.
    68 
    69    <http://www.phasic.com/~arwyn/libPatch-1.2.tgz>
     672. Install libPatch 1.2.1.
     68
     69   <http://web.sabi.net/nriley/software/libPatch-1.2.1.tgz>
    7070
    7171   I'd suggest you do it this way:
    7272
    7373   % cd /
    74    % sudo gnutar --preserve-permissions -zxf libPatch-1.2.tgz
     74   % sudo gnutar --preserve-permissions -zxf libPatch-1.2.1.tgz
    7575   Password:
    7676     (please don't use StuffIt Expander)
     
    8282   Please note that the layout of the libPatch distribution has changed
    8383   since libPatch 1.0; the above instructions will not work for 1.0.
     84   
     85   I did not write libPatch, but am distributing it for your convenience
     86   because it may be unavailable from its original source.  libPatch is
     87   unsupported; please do not contact libPatchÕs author for support.
    8488
    85893. Check out the source of 'otool' from the Darwin CVS repository.
     
    1021064. Open 'F-Script Anywhere.pbproj' in Project Builder and build the
    103107   Application target.  It depends on the Library target, so you don't
    104    need to build it separately.  You shouldn't see any errors or
     108   need to build it separately.  You shouldnÕt see any errors or
    105109   warnings, and the F-Script Anywhere application (as well as the
    106110   library, which you can ignore because it is also copied into the
     
    163167Q. ThatÕs too hard, especially all that scrolling.
    164168
    165 A. If you need to access a view (such as a button or text field) or
     169A. If you need to access a view (such as a button or text field), menu or
    166170   window, youÕre in luck.  Click in an F-Script workspace window, then
    167171   choose ÒAssociate With InterfaceÓ from the ÒFSAÓ menu.
     
    172176Q. F-Script Anywhere fails miserably on Jaguar.
    173177
    174 A. So IÕve heard (I donÕt have access to Jaguar developer seeds).  This
    175    is an issue with libPatch, and affects far more than F-Script Anywhere.
    176    Default Folder X and UnsanityÕs haxies are similarly rendered useless.
    177    A Jaguar-compatible replacement for libPatch is under development,
    178    but it does not yet contain support for applications such as F-Script
    179    Anywhere (which is unique in its use of libPatch).  IÕll fix this
    180    as soon as it does.
    181 
    182 
    183 Q. I don't like F-ScriptÕs syntax.  I don't like the object browser.
    184    I don't like you either.
     178A. It shouldnÕt.  Apple re-added support for libPatch to Jaguar late
     179   in the development process, with the result that F-Script Anywhere
     180   works.  libPatch nevertheless needs to be replaced with a more
     181   robust mechanism, and I am currently working on using the Application
     182   Enhancer SDK <http://www.unsanity.com/haxies/ape/sdk/> for a future
     183   version of F-Script Anywhere.
     184
     185
     186Q. F-Script Anywhere fails to recognize Spring as a Cocoa application.
     187
     188A. Yes, I'm aware of the irony: I contributed code to Spring.  Spring
     189   uses a unique application launching mechanism which makes it
     190   difficult to determine what type of application it is.  The only
     191   current workaround is to upgrade to Jaguar, where Spring will be
     192   correctly identified.  This problem will be remedied with the move
     193   to Application Enhancer, described above, in a future version of
     194   F-Script Anywhere.
     195
     196
     197Q. I donÕt like F-ScriptÕs syntax.  I don't like the object browser.
     198   I donÕt like you either.
    185199
    186200A. I didnÕt write F-Script.  Please address your questions to
     
    204218---------------
    205219
     2201.1.5 - 1 October 2002  - better identify Cocoa vs. Carbon applications
     221                          on Jaguar; added hierarchical window list to
     222                          FSA menu; fixed startup crash on Puma with
     223                          certain Carbon CFM applications
     2241.1.4 - 25 August 2002  - fixed miscellaneous Jaguar issues; worked
     225                          around broken application quit notifications;
     226                          added unique interpreter/associate window titles
     2271.1.3 - 24 July 2002    - added bullseye-menu targeting cursor; added menu
     228                          association; work around bug by stopping capture
     229                          on suspend; added delegate, data source, target,
     230                          cell selection for views; window controller for
     231                          windows
    2062321.1.2 - 18 July 2002    - fixed more startup issues with list management;
    207233                          properly scale icons of apps which have no
  • trunk/Cocoa/F-Script Anywhere/Source/VERSION

    r14 r16  
    1 1.1.2
     11.1.5
Note: See TracChangeset for help on using the changeset viewer.