|  |  |  | GNOME Library Reference Manual |  | 
|---|---|---|---|---|
#include <libgnome/libgnome.h> enum GnomeTriggerType; void (*GnomeTriggerActionFunction) (char *msg, char *level, char *supinfo[]);
The triggers API provides a way for applications to tell GNOME about interesting events that then cause something to happen (for example, playing a sound). An event can either be a function that is called, a sound that is played or an external command that is run.
Each trigger can optionally have a level associated with it and a section. The section is a list of strings that help to classify the event, which imposes a hierarchy on the trigger system. For example, messages about the hard drive partition /dev/hda1 may come under the section ("system", "device", "disk", "/dev/hda1"). This means that an application could trigger all events for the ("system", "device") sections and include those events, or be more specific and just trigger those for ("system", "device", "disk", "/dev/hda1").
At the present time, triggers are not widely used in GNOME, being mostly used to play sound events in response to certain actions.
typedef enum {
	GTRIG_NONE,
	GTRIG_FUNCTION,
	GTRIG_COMMAND,
	GTRIG_MEDIAPLAY
} GnomeTriggerType;
These are the different types of triggers that can be activated by an application.
void                (*GnomeTriggerActionFunction)       (char *msg,
                                                         char *level,
                                                         char *supinfo[]);
The signature of a function that can used as a target for GTRIG_FUNCTION types of GnomeTrigger instances.
| 
 | The human-readable message that was passed to gnome_triggers_do(). May beNULL. | 
| 
 | The severity level of the event. May be NULL. | 
| 
 | The section in which the event belongs. This is a NULLterminated
array. |