Next: Inhibiting, Previous: Toolbar Basics, Up: GUI Components [Contents][Index]
Gutters are the most flexible of the GUI components described in this section. In theory, the other GUI components could be implemented by customizing a gutter, but in practice the other components were introduced earlier and have their own special implementations. Gutters tend to be more transient than the other components. Buffer tabs, for example, change every time the selected buffer in the frame changes. And for progress gauges a gutter to contain the gauge is typically created on the fly when needed, then destroyed when the operation whose staus is being displayed is completed.
Buffer tabs, having somewhat complex behavior, deserve a closer look. By default, a row of buffer tabs is displayed at the top of every frame. (The tabs could be placed in the bottom gutter, but would be oriented the same way and look rather odd. The horizontal orientation makes putting them in a side gutter utterly impractical.) The buffer displayed in the current window of a frame can be changed to a specific buffer by clicking [mouse-1] on the corresponding tab in the gutter.
Each tab contains the name of its buffer. The tab for the current
buffer in each frame is displayed in raised relief. The list of buffers
chosen for display in the buffer tab row is derived by filtering the
buffer list (like the Buffers
menu). The list starts out with
all existing buffers, with more recently selected buffers coming earlier
in the list.
Then "uninteresting" buffers, like internal SXEmacs buffers, the
*Message Log*
buffer, and so on are deleted from the list. Next,
the frame’s selected buffer is determined. Buffers with a different
major mode from the selected buffer are removed from the list. Finally,
if the list is too long, the least recently used buffers are deleted
from the list. By default up to 6 most recently used buffers with the
same mode are displayed on tabs in the gutter.
This behavior can be altered by customizing
buffers-tab-filter-functions
. Setting this variable to
nil
forces display of all buffers, up to
buffers-tab-max-size
(also customizable). More complex behavior
may be available in 3rd party libraries. These, and some more
rarely customized options, are in the buffers-tab
Customize group.
Next: Inhibiting, Previous: Toolbar Basics, Up: GUI Components [Contents][Index]