Creating Your Own Service
Services
advertisements, such as the one
we listed earlier for the Stickies application, are stored in the
application’s
Info.plist
file, an XML-encoded file stored inside
the .app
wrapper. When Mac OS X registers a new
application, it opens up the Info.plist
file and
looks for the application’s application icon, its
document icons, and its Services advertisement (if it exists). This
information is cached to improve performance.
Table 20-4 lists all of the fields allowed in the Services advertisement.
Table 20-4. Services advertisement fields
Field |
Meaning |
---|---|
Message |
Name of the message to be sent. |
NSExecutable |
Name of the application’s executable. |
NSKeyEquivalent |
Key equivalent, if any, that the Services menu item should have. |
NSMenuItem |
Name that should appear in the Services menu. If you want to have a submenu, use the forward slash (/). For example, to have “equation” be a submenu of “graph”, you would use the string “graph/equation”. |
NSMessage |
Actual message that is sent to your application to cause the service to be executed. Messages are implemented with the Cocoa distributed object system. |
NSPortName |
Name of the Mach port where the message should be sent. Normally, this will be the name of your application’s “Identifier,” defined in the Application Settings tab in PB. |
NSReturnTypes |
Pasteboard types that the method can return. |
NSSendTypes |
Pasteboard types that the method can send. |
NSTimeout |
Numerical string that is the time, ... |
Get Building Cocoa Applications: A Step by Step Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.