platypus(1)               BSD General Commands Manual              platypus(1)

NAME

     platypus -- create Mac OS X application wrapper around a script.

SYNOPSIS

     platypus [-vh] [-O] [-FASDBR] [-ydlHx] [-bgn] [-KYL] [-P profile]
              [-a appName] [-o outputType] [-i icon] [-p interpreter]
              [-V version] [-u author] [-I identifier] [-f bundledFile]
              [-X suffixes] [-T filetypes] [-G interpreterArgs]
              [-C scriptArgs] [scriptFile] [destinationPath]

DESCRIPTION

     platypus is the command line counterpart to the Platypus Mac OS X appli-
     cation.  It is a tool which creates a Mac OS X application bundle which
     executes a script when run.

     platypus defaults to creating application bundles, but can also create
     Platypus profiles that can subsequently be loaded by either the command
     line program or the Platypus graphical application.

     If the scriptFile parameter is '-', platypus will read the script from
     STDIN.

     The following flags are supported (and are parsed in the order in which
     they are passed):

     -O   Create profile file as output instead of creating an application
          bundle.  When you select this option, the "destinationPath" para-
          mater (i.e. the final parameter to the program) should have a
          .platypus suffix.  Please note that in order to create reusable pro-
          files, this option requires that all paths to bundled files, icons
          etc. be absolute.  If you provide '-' as the output file, the pro-
          file property list will be dumped to STDOUT.

     -P [profile]
          Loads all settings from a Platypus profile file.  You will still
          need to specify a destination path for the application.  It is pos-
          sible to override individual settings in the profile with subsequent
          parameters.

     -a [appName]
          Specifies the name of the application.  This is can be different
          from the name of the .app bundle itself, and is displayed in the
          application's menus, "About" window and Info.plist property list.

     -o [outputType]
          Specifies the script application's output type, which can be one of
          the following:

          'None' The application does not display any output.

          'Progress Bar' The application displays a progress bar while run-
          ning.

          'Text Window' The application displays a window with a text field
          with all script output.

          'Web View' The application displays a window with a web view which
          renders script output as HTML.

          'Status Menu' The application displays a status menu item in the
          menubar which runs the script and displays its output when selected.

          'Droplet' The application displays a droplet window for dropping
          files on for processing by the script.

          The default output type is "Progress Bar".

     -i [icon]
          Specifies a file to use as icon for the application bundle. The icon
          file should be a regular Mac OS X .icns file.  If not specified, the
          default Platypus app icon will be used. If specified, but left empty
          (''), no application icon will be set for the app.

     -Q [icon]
          Specifies a file to use as icon for the application's documents.
          Should be a Mac OS X .icns file.

     -p [interpreter]
          Sets the interpreter for your script (e.g. /usr/bin/perl).  If the
          interpreter is not specified, the command line tool will try to
          guess the correct interpreter.  If this fails, the standard shell
          interpreter /bin/sh is used.

     -V [version]
          Sets the application bundle's version.  This is displayed in the
          Info.plist property list and About window.

     -u [author]
          Sets the name of the application author (e.g. "Apple Computer" or
          "John Smith").  If not specified, it defaults to the current user's
          full user name.

     -f [bundledFile]
          Specifies a file to be bundled with the script application.  This
          file will be copied over the Resources folder of the application
          bundle, which is the same folder in which your script will eventu-
          ally reside.  You can specify any number of files to be bundled, but
          you must use the -f flag each time, since the flag only accepts a
          single file path after the -f flag.

     -I [identifier]
          Sets the application's bundle identifier.  An application identifier
          is a reverse DNS name (e.g. com.apple.iTunes) that uniquely identi-
          fies your application.  If this option is left empty, it will
          default to an identifier of the format "org.username.appname" (e.g.
          org.sveinbjorn.Platypus).

     -A   This flag makes the application request administrator privileges via
          Apple's Security Framework (i.e.  prompt for a password) and then
          executes the script with those privileges. For details on the nature
          of these privileges, see the Apple documentation for the Authoriza-
          tionExecuteWithPrivileges() in Security.framework.  This is not
          quite equivalent to root privileges.

     -S   Secure bundled script.  This encrypts the bundled script, to fend
          off prying eyes. Please note that nothing will make the script
          'secure' from anyone knowledgable enough to get a clear text ver-
          sion.

     -D   Makes your script application droppable, i.e. capable of receiving
          drag and dropped files as arguments to the script. The application
          bundle's property list is modified so that it can receive dropped
          files in the Dock and Finder. These files are then passed on to the
          script as arguments via @ARGV.

     -F   Makes your script application droppable, so it accepts dragged text
          snippets, which are passed to script as arguments.

     -B   This option causes the application to run in the background.  Its
          icon will not appear in the Dock.  This is done by registering the
          application with the Finder as a user interface element (LSUIEle-
          ment).

     -R   This option makes the application quit after the script has been
          executed.

     -X [suffixes]
          Only appropriate if you are using the -D option. This flag allows
          you to specify the file suffixes (e.g. .txt, .wav) your application
          can open.  This should be a |-separated string (e.g. "txt|wav|jpg").

     -T [filetypes]
          Only appropriate if you are using the -D option.  This flag allows
          you to specify the file type codes (e.g. '8BIM', 'TEXT') your appli-
          cation can open.  This should be a |-separated string of 4-character
          ASCII strings (e.g. "8BIM|TEXT|R*ch").

     -G [arguments]
          Arguments for the script interpreter.  These should be specified as
          a |-separated string (e.g. '-w|-s|-l').

     -C [arguments]
          Arguments to the script.  These should be specified as a |-separated
          string (e.g. '-w|-s|-l').

     -b [hexColor]
          For Text Window output mode only. Set background color of text out-
          put (e.g. #ffffff).

     -g [hexColor]
          For Text Window output mode only. Set foreground color of text out-
          put (e.g. #000000).

     -n [fontName]
          For Text Window output mode only. Set font and fontsize for text
          output field (e.g. 'Monaco 10').

     -E [encodingNumber]
          For Text Window output mode only. Set text encoding for script out-
          put.  Must be one of the numbers defined in the NSString class ref-
          erence (e.g. 4=UTF-8, 1=ASCII, etc.).  Default is UTF8.

     -K [kind]
          For Status Menu output mode only.  Set display kind for Status Menu
          output mode.  This can be "Text", "Icon and text" or "Icon".

     -Y [title]
          For Status Menu output mode only.  Set the display title for the
          status item in Status Menu output mode.

     -L [imagePath]
          For Status Menu output mode only.  Set the icon image for the status
          item in Status Menu output mode.  This must be a 16x16 pixel image
          in one of the image formats supported by the Cocoa APIs.

     -x   Create XML format property lists instead of binary ones.

     -d   Development mode.  A symlink to the original script is created
          inside the application bundle instead of a copy.  Symlinks are also
          created for any bundled files.  This option is incompatible with the
          -S option.

     -l   Don't optimize application.  Platypus defaults to compiling the bun-
          dled xib file to reduce application size, which makes it uneditable.
          Optimization only takes place if you have Apple's Developer Tools
          installed, since it uses the program /Developer/usr/bin/ibtool.

     -y   Force mode.  With this flag set, the program will happily overwrite
          any previous files and folders in destination path.  Use with cau-
          tion.

     -H [xibPath]
          Specify an alternate xib to copy to application bundle.  This allows
          you to integrate a customised Platypus application xib into your
          build process.

     -v   Print the version of this program

     -h   Print help and usage string

     Exits 0 on success, and >0 if an error occurs.

EXAMPLES

     platypus -P myProfile.platypus ~/Desktop/MyApplication.app

     platypus -o 'Text Window' script.pl PerlScript.app

     platypus -a 'My App' -p /usr/bin/python myPythonScript

     platypus -D -a MyDroplet -o 'Droplet' ~/droplet.sh

FILES

     /usr/local/bin/platypus                         program binary
     /usr/local/share/platypus/ScriptExec            executable binary
     /usr/local/share/platypus/MainMenu.nib          Nib file for app
     /usr/local/share/platypus/PlatypusDefault.icns  Default icon

AUTHORS

     This manual page was written by Sveinbjorn Thordarson <svein-
     bjornt@gmail.com> To support Platypus development, please visit
     http://sveinbjorn.org/donations.

Darwin                         February 27, 2012                        Darwin