App Bundles
Applications are stored as folders with .pbapp
appended to their name.
The folder contains all the files needed for each application.
Manifest
There must be a manifest file at the root of the app bundle, called manifest.conf
.
This file contains a list of key-value pairs. Each pair is separated by a new line.
The key is separated from its value with =
.
Empty lines are ignored.
Whitespace is not removed from around keys or values.
At minimum, the manifest must contain two keys.
id
: This is an identifier that uniquely identifies the application. By convention, it's a string consisting only of lowercase letters,-
and.
.executable_name
: This is the name of the application's executable file, as discussed in the next section. It must not contain.
or/
characters.
There are more options which can be set in the manifest file, but these are discussed in a later section.
Executables
Inside the app bundle, there is a folder for each processor architecture that the app can run on.
The currently supported folders are named aarch64
and x86_64
.
Inside each such folder, the executable for that architecture should be placed.
The name of the executable file is given by the executable_name
key in the app's manifest.
Icon
The application bundle can contain an icon file.
This is optional, but recommended.
It should be called icon
and be of any image format supported by PBImageCreateFromData.
Resources
The application bundle can contain arbitrary application resources.
These should be placed in a folder called res
.
The application can access these with PBImageCreateFromResource and PBStreamCreateFromResource.
More manifest options
single_process
: Set to1
to run all instances of the application in a single process. The default value is0
, causing each instance to run in a separate process.ext
: This option may be removed in a future version of Playbit. Specify a file extension that can be opened in this application. This key can be repeated multiple times. The application will be launched with a run command of the formfile:<extension>:<path>
.preview
: This option may be removed in a future version of Playbit. Specify a file extension for which this application can generate a read-only preview. This key can be repeated multiple times. The application will be launched with a run command of the formpreview-file:<extension>:<path>
.