Minor Display Modes
===================
A "minor display mode" is a mode useful when using a specific type of
buffer. This mode might not be useful for any other kind of data or
mode, or may just be more useful that a files or buffers based mode when
working with a specialized mode.
Examples that already exist for speedbar include RMAIL, Info, and
gdb. These modes display information specific to the major mode shown
in the attached frame.
To enable a minor display mode in your favorite Major mode, follow
these steps. The string `NAME' is the name of the major mode being
augmented with speedbar.
1. Create the keymap variable `NAME-speedbar-key-map'.
2. Create a function, named whatever you like, which assigns values
into your keymap. Use this command to create the keymap before
assigning bindings:
(setq NAME-speedbar-key-map (speedbar-make-specialized-keymap))
This function creates a special keymap for use in speedbar.
3. Call your install function, or assign it to a hook like this:
(if (featurep 'speedbar)
(NAME-install-speedbar-variables)
(add-hook 'speedbar-load-hook 'NAME-install-speedbar-variables))
4. Create an easymenu compatible vector named
`NAME-speedbar-menu-items'. This will be spliced into speedbar's
control menu.
5. Create a function called `NAME-speedbar-buttons'. This function
should take one variable, which is the buffer for which it will
create buttons. At this time `(current-buffer)' will point to the
uncleared speedbar buffer.
When writing `NAME-speedbar-buttons', the first thing you will want
to do is execute a check to see if you need to re-create your display.
If it needs to be cleared, you need to erase the speedbar buffer
yourself, and start drawing buttons. Note:Creating a display.