elisp: Button Properties

 
 37.19.1 Button Properties
 -------------------------
 
 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:
 
 ‘action’
      The function to call when the user invokes the button, which is
      passed the single argument BUTTON.  By default this is ‘ignore’,
      which does nothing.
 
 ‘mouse-action’
      This is similar to ‘action’, and when present, will be used instead
      of ‘action’ for button invocations resulting from mouse-clicks
      (instead of the user hitting <RET>).  If not present, mouse-clicks
      use ‘action’ instead.
 
 ‘face’
      This is an Emacs face controlling how buttons of this type are
      displayed; by default this is the ‘button’ face.
 
 ‘mouse-face’
      This is an additional face which controls appearance during
      mouse-overs (merged with the usual button face); by default this is
      the usual Emacs ‘highlight’ face.
 
 ‘keymap’
      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.
 
 ‘type’
      The button type.  SeeButton Types.
 
 ‘help-echo’
      A string displayed by the Emacs tool-tip help system; by default,
      ‘"mouse-2, RET: Push this button"’.
 
 ‘follow-link’
      The follow-link property, defining how a <mouse-1> click behaves on
      this button, SeeClickable Text.
 
 ‘button’
      All buttons have a non-‘nil’ ‘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.