#220 XDarwin has no creator code

Feature Suggestion
closed-wont-fix
X server (105)
5
2014-08-25
2002-11-08
Anonymous
No

XDarwin's bundle signature is "????". This is a generic signature used by default when an application is first created.

Someone needs to register a creator code with Apple so that XDarwin will be a first class Mac application.

An example of the problem this causes is, I can't use the LSGetApplicationForInfo() API to launch XDarwin in a tool that I'm writing.

Discussion

    • assigned_to: nobody --> torrey
     
  • Logged In: YES
    user_id=133579

    Most Carbon applications need Creator codes, but many Cocoa apps only have identifiers. Creator codes are only useful on HFS+ volumes. XDarwin's identifier is "org.xfree86.XDarwin". You can launch XDarwin using code such as the following from XDarwinStartup.c:

    theStatus = LSFindApplicationForInfo(kLSUnknownCreator,
    CFSTR("org.xfree86.XDarwin"),
    NULL, NULL, &appURL);
    if (theStatus) {
    fprintf(stderr, "Could not find the XDarwin application. (Error = 0x%lx)\n", theStatus);
    fprintf(stderr, "Launch XDarwin once from the Finder.\n");
    return theStatus;
    }

    appPath = CFURLCopyFileSystemPath (appURL, kCFURLPOSIXPathStyle);
    success = CFStringGetCString(appPath, quartzPath, PATH_MAX, CFStringGetSystemEncoding());
    if (! success) {
    fprintf(stderr, "Could not find path to XDarwin application.\n");
    return success;
    }

    // Launch the XDarwin application
    strncat(quartzPath, "/Contents/MacOS/XDarwin", PATH_MAX);
    newargv[0] = quartzPath;
    execv(newargv[0], newargv);
    fprintf(stderr, "Could not start XDarwin application at %s.\n", newargv[0]);
    return errno;

     
    • status: open --> closed-wont-fix
     
  • Logged In: YES
    user_id=133579

    Apparently my previous explanation about using identifiers is okay. Closing.