GrowlDefines.h


Abstract

Defines all the notification keys.

Discussion

Defines all the keys used for registration with Growl and for Growl notifications.

Most applications should use the functions or methods of Growl.framework instead of posting notifications such as those described here.



#defines


GROWL_APP_ICON


The image data for your application's icon.

#define GROWL_APP_ICON XSTR(
    "ApplicationIcon") 
Discussion

Image data representing your application's icon. This may be superimposed on a notification icon as a badge, used as the notification icon when a notification-specific icon is not supplied, or ignored altogether, depending on the display. Must be in a format supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.

Optional. Not supported by all display plugins.


GROWL_APP_NAME


The name of your application.

#define GROWL_APP_NAME XSTR(
    "ApplicationName") 
Discussion

The name of your application. This should remain stable between different versions and incarnations of your application. For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and "SurfWriter Lite" are not.


GROWL_APP_PID


The process identifier of the process which sends this notification. If this field is set, the application will only receive clicked and timed out notifications which originate from this process.

Optional.

#define GROWL_APP_PID XSTR(
    "ApplicationPID") 

GROWL_APP_REGISTRATION


The distributed notification for registering your application.

#define GROWL_APP_REGISTRATION XSTR(
    "GrowlApplicationRegistrationNotification") 
Discussion

This is the name of the distributed notification that can be used to register applications with Growl.

The userInfo dictionary for this notification can contain these keys:



No longer recommended as of Growl 0.6. An alternate method of registering is to use Growl.framework's delegate system. See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for more information.

GROWL_APP_REGISTRATION_CONF


The distributed notification for confirming registration.

#define GROWL_APP_REGISTRATION_CONF XSTR(
    "GrowlApplicationRegistrationConfirmationNotification") 
Discussion

The name of the distributed notification sent to confirm the registration. Used by the Growl preference pane. Your application probably does not need to use this notification.


GROWL_DISPLAY_PLUGIN


#define GROWL_DISPLAY_PLUGIN XSTR(
    "NotificationDisplayPlugin") 
Discussion

The name of a display plugin which should be used for this notification. Optional. If this key is not set or the specified display plugin does not exist, the display plugin stored in the application ticket is used. This key allows applications to use different default display plugins for their notifications. The user can still override those settings in the preference pane.


GROWL_IS_READY


The distributed notification sent when Growl starts up.

#define GROWL_IS_READY XSTR(
    "Lend Me Some Sugar; I Am Your Neighbor!") 
Discussion

GrowlHelperApp posts this when it has begin listening on all of its sources for new notifications. GrowlApplicationBridge (in Growl.framework), upon receiving this notification, reregisters using the registration dictionary supplied by its delegate.


GROWL_KEY_CLICKED_CONTEXT


Used internally as the key for the clickedContext passed over DNC.

#define GROWL_KEY_CLICKED_CONTEXT XSTR(
    "ClickedContext") 
Discussion

This key is used in GROWL_NOTIFICATION_CLICKED, and contains the click context that was supplied in the original notification.


GROWL_NOTIFICATION


The distributed notification for Growl notifications.

#define GROWL_NOTIFICATION XSTR(
    "GrowlNotification") 
Discussion

This is what it all comes down to. This is the name of the distributed notification that your application posts to actually send a Growl notification.

The userInfo dictionary for this notification can contain these keys:



No longer recommended as of Growl 0.6. Three alternate methods of posting notifications are +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:], Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext, and Growl_PostNotification.

GROWL_NOTIFICATION_APP_ICON


#define GROWL_NOTIFICATION_APP_ICON XSTR(
    "NotificationAppIcon") 
Discussion

Image data for the application icon, in case GROWL_APP_ICON does not apply for some reason. Must be in a format supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.

Optional. Not supported by all display plugins.


GROWL_NOTIFICATION_CLICK_CONTEXT


Identifies which notification was clicked.

#define GROWL_NOTIFICATION_CLICK_CONTEXT XSTR(
    "NotificationClickContext") 
Discussion

An identifier for the notification for clicking purposes.

This will be passed back to the application when the notification is clicked. It must be plist-encodable (a data, dictionary, array, number, or string object), and it should be unique for each notification you post. A good click context would be a UUID string returned by NSProcessInfo or CFUUID.

Optional. Not supported by all display plugins.


GROWL_NOTIFICATION_CLICKED


The distributed notification sent when a supported notification is clicked.

#define GROWL_NOTIFICATION_CLICKED XSTR(
    "GrowlClicked!") 
Discussion

When a Growl notification with a click context is clicked on by the user, Growl posts this distributed notification. The GrowlApplicationBridge responds to this notification by calling a callback in its delegate.


GROWL_NOTIFICATION_DESCRIPTION


The description to display in the notification.

#define GROWL_NOTIFICATION_DESCRIPTION XSTR(
    "NotificationDescription") 
Discussion

The description should be longer and more verbose than the title. The description usually tells the subject of the action, e.g. "Growl-0.6.dmg downloaded in 5.02 minutes".


GROWL_NOTIFICATION_ICON


#define GROWL_NOTIFICATION_ICON XSTR(
    "NotificationIcon") 
Discussion

Image data for the notification icon. Must be in a format supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.

Optional. Not supported by all display plugins.


GROWL_NOTIFICATION_IDENTIFIER


An identifier for the notification for coalescing purposes. Notifications with the same identifier fall into the same class; only the last notification of a class is displayed on the screen. If a notification of the same class is currently being displayed, it is replaced by this notification.

Optional. Not supported by all display plugins.

#define GROWL_NOTIFICATION_IDENTIFIER XSTR(
    "GrowlNotificationIdentifier") 

GROWL_NOTIFICATION_NAME


The name of the notification.

#define GROWL_NOTIFICATION_NAME XSTR(
    "NotificationName") 
Discussion

The name of the notification. This should be human-readable, as it's shown in the prefpane, in the list of notifications your application * supports.


GROWL_NOTIFICATION_PRIORITY


#define GROWL_NOTIFICATION_PRIORITY XSTR(
    "NotificationPriority") 
Discussion

The priority of the notification as an integer number from -2 to +2 (+2 being highest). Optional. Not supported by all display plugins.


GROWL_NOTIFICATION_STICKY


#define GROWL_NOTIFICATION_STICKY XSTR(
    "NotificationSticky") 
Discussion

A Boolean number controlling whether the notification is sticky.

Optional. Not supported by all display plugins.


GROWL_NOTIFICATION_TITLE


The title to display in the notification.

#define GROWL_NOTIFICATION_TITLE XSTR(
    "NotificationTitle") 
Discussion

The title of the notification. Should be very brief. The title usually says what happened, e.g. "Download complete".


GROWL_NOTIFICATIONS_ALL


The array of all notifications your application can send.

#define GROWL_NOTIFICATIONS_ALL XSTR(
    "AllNotifications") 
Discussion

These are the names of all of the notifications that your application may post. See GROWL_NOTIFICATION_NAME for a discussion of good notification names.


GROWL_NOTIFICATIONS_DEFAULT


The array of notifications to turn on by default.

#define GROWL_NOTIFICATIONS_DEFAULT XSTR(
    "DefaultNotifications") 
Discussion

These are the names of the notifications that should be enabled by default when your application registers for the first time. If your application reregisters, Growl will look here for any new notification names found in GROWL_NOTIFICATIONS_ALL, but ignore any others.


GROWL_PING


A distributed notification to check whether Growl is running.

#define GROWL_PING XSTR(
    "Honey, Mind Taking Out The Trash") 
Discussion

This is used by the Growl preference pane. If it receives a GROWL_PONG, the preference pane takes this to mean that Growl is running.


GROWL_PONG


The distributed notification sent in reply to GROWL_PING.

#define GROWL_PONG XSTR(
    "What Do You Want From Me, Woman") 
Discussion

GrowlHelperApp posts this in reply to GROWL_PING.


GROWL_REG_DICT_EXTENSION


The filename extension for registration dictionaries.

#define GROWL_REG_DICT_EXTENSION XSTR(
    "growlRegDict") 
Discussion

The GrowlApplicationBridge in Growl.framework registers with Growl by creating a file with the extension of .(GROWL_REG_DICT_EXTENSION) and opening it in the GrowlHelperApp. This happens whether or not Growl is running; if it was stopped, it quits immediately without listening for notifications.


GROWL_SHUTDOWN


The distributed notification name that tells Growl to shutdown.

#define GROWL_SHUTDOWN XSTR(
    "GrowlShutdown") 
Discussion

The Growl preference pane posts this notification when the "Stop Growl" button is clicked.


GROWL_TICKET_VERSION


The version of your registration ticket.

#define GROWL_TICKET_VERSION XSTR(
    "TicketVersion") 
Discussion

Include this key in a ticket plist file that you put in your application bundle for auto-discovery. The current ticket version is 1.

© The Growl Project (Last Updated February 25, 2004)