237 lines
No EOL
10 KiB
HTML
237 lines
No EOL
10 KiB
HTML
<html><head></head><body><pre><font face="Courier"><b>PLATYPUS(1) General Commands Manual PLATYPUS(1)</b>
|
|
|
|
<b>NAME</b>
|
|
|
|
<b>platypus</b> – create a macOS application bundle from a command line script.
|
|
|
|
<b>SYNOPSIS</b>
|
|
|
|
<b>platypus</b> [OPTIONS] <u>scriptPath</u> <u>[destinationPath]</u>
|
|
|
|
<b>DESCRIPTION</b>
|
|
|
|
<b>platypus</b> is the command line counterpart to the Platypus Mac application.
|
|
It creates a macOS application bundle from a command line script. See
|
|
https://sveinbjorn.org/platypus for details.
|
|
|
|
<b>platypus</b> defaults to creating application bundles, but can also create
|
|
Platypus profiles that are loadable by both the command line program and
|
|
the Platypus application.
|
|
|
|
If the scriptPath parameter is '-', script text is read from standard
|
|
input.
|
|
|
|
The following option flags are supported (parsed in the order in which they
|
|
are passed):
|
|
|
|
<b>-O,</b> <b>--generate-profile</b>
|
|
Create a profile document instead of creating an application bundle.
|
|
When this option is enabled, the "destinationPath" paramater (i.e. the
|
|
final argument to the program) should have a .platypus suffix. If the
|
|
string '-' is provided as destination path, the profile property list
|
|
XML will be dumped to STDOUT.
|
|
|
|
<b>-P,</b> <b>--load-profile</b> <u>profilePath</u>
|
|
Loads all settings from a Platypus profile document. It is still
|
|
necessary to specify a destination path for the application.
|
|
Subsequent arguments can override profile settings.
|
|
|
|
<b>-a,</b> <b>--name</b> <u>appName</u>
|
|
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.
|
|
|
|
<b>-o,</b> <b>--interface-type</b> <u>interfaceType</u>
|
|
Specifies the application's interface type, which should be one of the
|
|
following:
|
|
|
|
<u>'None'</u> The application does not display any user interface except for
|
|
Dock icon & menu.
|
|
|
|
<u>'Progress</u> <u>Bar'</u> The application displays a progress bar while running.
|
|
|
|
<u>'Text</u> <u>Window'</u> The application displays a window with a text field with
|
|
all script output.
|
|
|
|
<u>'Web</u> <u>View'</u> The application displays a window with a web view which
|
|
renders script output as HTML.
|
|
|
|
<u>'Status</u> <u>Menu'</u> The application displays a status menu item in the
|
|
menubar which runs the script and displays its output when clicked.
|
|
|
|
<u>'Droplet'</u> The application displays a droplet window for dropping files
|
|
on for processing by the script.
|
|
|
|
The default interface type is 'Text Window'.
|
|
|
|
<b>-i,</b> <b>--app-icon</b> <u>iconPath</u>
|
|
Specifies a file to use as the icon for the application bundle. The
|
|
file must be an Apple .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.
|
|
|
|
<b>-Q,</b> <b>--document-icon</b> <u>iconPath</u>
|
|
Specifies a file to use as icon for the application's documents. Must
|
|
be an Apple .icns file.
|
|
|
|
<b>-p,</b> <b>--interpreter</b> <u>interpreterPath</u>
|
|
Sets script interpreter (e.g. /usr/bin/python or /bin/sh). If the
|
|
interpreter is not specified, the command line tool will try to guess
|
|
the correct interpreter. If this fails, the default shell interpreter
|
|
/bin/sh is used.
|
|
|
|
<b>-V,</b> <b>--app-version</b> <u>version</u>
|
|
Sets the application bundle's version. This is displayed in the
|
|
Info.plist property list and About window.
|
|
|
|
<b>-u,</b> <b>--author</b> <u>authorName</u>
|
|
Sets the name of the application author (e.g. "Apple Computer" or
|
|
"John Smith"). If not specified, this defaults to the current user's
|
|
full user name.
|
|
|
|
<b>-f,</b> <b>--bundled-file</b> <u>filePath</u>
|
|
Specifies a file to be bundled with the application. The file will be
|
|
copied over to the Resources folder of the application bundle, which
|
|
is the same folder in which the script runs. Any number of files can
|
|
be bundled in this way.
|
|
|
|
<b>-I,</b> <b>--bundle-identifier</b> <u>bundleIdentifier</u>
|
|
Sets the application's bundle identifier. An application identifier is
|
|
a reverse DNS name (e.g. com.apple.iTunes) that uniquely identifies
|
|
the application. If this option is left empty, it will default to an
|
|
identifier of the format "org.username.appname" (e.g.
|
|
org.sveinbjorn.Platypus).
|
|
|
|
<b>-A,</b> <b>--admin-privileges</b>
|
|
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
|
|
AuthorizationExecuteWithPrivileges() in Security.framework. This is
|
|
not strictly equivalent to running as root.
|
|
|
|
<b>-D,</b> <b>--droppable</b>
|
|
Makes the application droppable, i.e. capable of receiving dragged 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.
|
|
|
|
<b>-F,</b> <b>--text-droppable</b>
|
|
Makes the application text droppable, i.e. makes it accept dragged
|
|
text snippets, which are then passed to script via STDIN.
|
|
|
|
<b>-N,</b> <b>--service</b>
|
|
Makes the app register as a Dynamic Service accessible from the
|
|
Services application submenu.
|
|
|
|
<b>-B,</b> <b>--background</b>
|
|
This option causes the application to run in the background so its
|
|
icon will not appear in the Dock. This is done by registering the
|
|
application with LaunchServices as a user interface element
|
|
(LSUIElement).
|
|
|
|
<b>-R,</b> <b>--quit-after-execution</b>
|
|
This option makes the application quit once the script has been
|
|
executed.
|
|
|
|
<b>-X,</b> <b>--suffixes</b> <u>suffixes</u>
|
|
Only relevant if the application accepts dropped files. This flag
|
|
specifies the file suffixes (e.g. .txt, .wav) that the application can
|
|
open. This should be a |-separated string (e.g. "txt|wav|jpg").
|
|
|
|
<b>-T,</b> <b>--uniform-type-identifiers</b> <u>utis</u>
|
|
Only relevant if the application accepts dropped files. This flag
|
|
specifies the Uniform Type Identifiers (UTIs) that the application can
|
|
open. This should be a |-separated string (e.g.
|
|
"public.item|public.folder"). Suffixes are ignored if this flag is
|
|
used.
|
|
|
|
<b>-U,</b> <b>--uri-schemes</b> <u>schemes</u>
|
|
Set application as handler for URI schemes. These can be either
|
|
standard URI schemes such as http or custom URI schemes of your
|
|
choice. See documentation for details. Multiple items should be a
|
|
|-separated string (e.g. "ftp|myscheme|someotherscheme").
|
|
|
|
<b>-Z,</b> <b>--file-prompt</b>
|
|
Show an Open File dialog when the application launches.
|
|
|
|
<b>-G,</b> <b>--interpreter-args</b> <u>arguments</u>
|
|
Arguments for the script interpreter. These should be specified as a
|
|
|-separated string (e.g. '-w|-s|-l').
|
|
|
|
<b>-C,</b> <b>--script-args</b> <u>arguments</u>
|
|
Arguments for the script. These should be specified as a |-separated
|
|
string (e.g. '-w|-s|-l').
|
|
|
|
<b>-b,</b> <b>--text-background-color</b> <u>hexColor</u>
|
|
Set background color of text (e.g. #ffffff).
|
|
|
|
<b>-g,</b> <b>--text-foreground-color</b> <u>hexColor</u>
|
|
Set foreground color of text (e.g. #000000).
|
|
|
|
<b>-n,</b> <b>--text-font</b> <u>fontName</u>
|
|
Set font and font size for text view (e.g. 'Monaco 10').
|
|
|
|
<b>-K,</b> <b>--status-item-kind</b> <u>kind</u>
|
|
For Status Menu interface type only. Set display kind for Status Menu
|
|
interface type. This can be "Text" or "Icon".
|
|
|
|
<b>-Y,</b> <b>--status-item-title</b> <u>title</u>
|
|
For Status Menu interface type only. Set the display title for the
|
|
status item in Status Menu interface type.
|
|
|
|
<b>-L,</b> <b>--status-item-icon</b> <u>imagePath</u>
|
|
For Status Menu interface type only. Set the icon image for the
|
|
status item in Status Menu interface type. Must be an image file in
|
|
one of the formats supported by the Cocoa APIs (e.g. PNG, JPEG, TIFF
|
|
etc.)
|
|
|
|
<b>-c,</b> <b>--status-item-sysfont</b>
|
|
For Status Menu interface type only. Makes menu use system font
|
|
instead of user-defined styling.
|
|
|
|
<b>-d,</b> <b>--symlink</b>
|
|
A symlink to the original script is created inside the application
|
|
bundle instead of copying the script over. Symlinks are also created
|
|
to any bundled files.
|
|
|
|
<b>-l,</b> <b>--optimize-nib</b>
|
|
Strip the bundled application nib file to reduce its size. Makes the
|
|
nib uneditable. Only works if Apple's Xcode is installed.
|
|
|
|
<b>-y,</b> <b>--overwrite</b>
|
|
Overwrite any pre-existing files or folders in destination path.
|
|
|
|
<b>-v,</b> <b>--version</b>
|
|
Print the version of this program
|
|
|
|
<b>-h,</b> <b>--help</b>
|
|
Print help and usage string
|
|
|
|
Exits 0 on success, and >0 if an error occurs.
|
|
|
|
<b>FILES</b>
|
|
|
|
<u>/usr/local/bin/platypus</u> program binary
|
|
<u>/usr/local/share/platypus/ScriptExec</u> executable binary
|
|
<u>/usr/local/share/platypus/MainMenu.nib</u> nib file for app
|
|
<u>/usr/local/share/platypus/PlatypusDefault.icns</u> default icon
|
|
|
|
<b>EXAMPLES</b>
|
|
|
|
platypus -P myProfile.platypus ~/Desktop/MyApplication.app
|
|
|
|
platypus -o 'Text Window' script.pl PerlScript.app
|
|
|
|
platypus -a 'My App' -p /usr/bin/python myPythonScript.py
|
|
|
|
platypus -D -a MyDroplet -o 'Droplet' ~/droplet.sh
|
|
|
|
<b>AUTHORS</b>
|
|
|
|
Sveinbjorn Thordarson <sveinbjorn@sveinbjorn.org>
|
|
|
|
Darwin January 18, 2022 Darwin
|
|
</font></pre>
|
|
</body></html> |