Each button has an associated list of properties defining its appearance and behavior, and other arbitrary properties may be used for application specific purposes. The following properties have special meaning to the Button package:
The function to call when the user invokes the button, which is passed
the single argument button. By default this is
which does nothing.
This is similar to
action, and when present, will be used
action for button invocations resulting from
mouse-clicks (instead of the user hitting RET). If not
present, mouse-clicks use
This is an Emacs face controlling how buttons of this type are
displayed; by default this is the
This is an additional face which controls appearance during
mouse-overs (merged with the usual button face); by default this is
the usual Emacs
The button’s keymap, defining bindings active within the button
region. By default this is the usual button region keymap, stored
in the variable
button-map, which defines RET and
mouse-2 to invoke the button.
The button type. See Button Types.
A string displayed by the Emacs tooltip help system; by default,
"mouse-2, RET: Push this button". Alternatively, a function
that returns, or a form that evaluates to, a string to be displayed or
nil. For details see Text help-echo.
The function is called with three arguments, window,
object, and pos. The second argument, object, is
either the overlay that had the property (for overlay buttons), or the
buffer containing the button (for text property buttons). The other
arguments have the same meaning as for the special text property
follow-link property, defining how a mouse-1 click
behaves on this button, See Clickable Text.
All buttons have a non-
button property, which may be useful
in finding regions of text that comprise buttons (which is what the
standard button functions do).
There are other properties defined for the regions of text in a button, but these are not generally interesting for typical uses.