monitor.el defines a powerful API for creating monitors which (to a degree) may be thought of as powerful, fully-customizable, abstract hooks.
Using this API, one may define monitors for such things as hooks, timers, even waiting for the value of an expression to change!
Though monitors themselves are very powerful, monitor.el goes one step further by allowing the creation of instances. Instances (in short) are a way of providing specific configurations for a monitor with ease, for example: providing the hook to be monitored; the functions to be run on triggering etc.
To define a new monitor, use the define-monitor
function. This function
has three mandatory arguments: the monitor name; the parent; and the
documentation string, and then takes an arbitrary amount of arguments in
the form of :keyword
value
pairs.