Node:Temp- and compile-buffers, Next:The other window, Previous:The edit-area, Up:Usage of ECB
If you call any help in Emacs, e.g. by calling describe-function, or
if you do a completion in the minibuffer, then Emacs displays the
result-buffer in another window. This behavior you have also in ECB.
If the edit-area is already splitted into at least two edit-windows
then the temp-buffer is displayed in another edit-window otherwise the
edit-are will be splitted first into two edit-windows, one above the
other. The variables temp-buffer-max-height and
temp-buffer-resize-mode (for GNU Emacs) and
temp-buffer-shrink-to-fit (for XEmacs) work also correctly with
ECB.
Same for all compilation output-buffers (e.g. after a compile or
grep) and the variable compilation-window-height.
This is default behavior of ECB. But there is also another way to display such buffers: Using a durable extra window at the bottom of the ECB-frame:
With the option ecb-compile-window-height you can define if the
ECB layout should contain per default a compile-window at the
bottom (just specify the number of lines which should be used for the
compile-window at the bottom of the frame). If "yes" ECB displays
all buffers for which the function ecb-compilation-buffer-p
returns not nil (e.g. all output of compilation-mode (compile, grep
etc.) or all temp-buffers like *Help*-buffers) in this special
window.
In general: With the options ecb-compilation-buffer-names,
ecb-compilation-major-modes and
ecb-compilation-predicates you can define which buffers should
be displayed in the compile-window of ECB (for example if you call
switch-to-buffer or display-buffer or if you run
compile or if you display *Help*-buffers). Per default these
are all temp-buffers like *Help*-buffers, all compile- and grep
buffers, *Occur*-buffers etc. See the default values of these options.
With the command ecb-toggle-compile-window (bound to C-c .
\) you can toggle the visibility of the compile-window
(see Interactive ECB commands).
There are some more useful options and commands related to the compile-window of ECB (to see all options for the compile-window see the customization group ecb-compilation):
ecb-compile-window-temporally-enlarge you can
allow Emacs to enlarge temporally the ECB-compile-window in some
situations. Please read the comment of this option. See also the
description of the command
ecb-toggle-compile-window-height.
ecb-enlarged-compilation-window-max-height you
specify how ecb-toggle-compile-window-height should
enlarge the compile-window.
ecb-cycle-through-compilation-buffers
(see Interactive ECB commands) you can cycle through all current
open compilation-buffers (in the sense of
ecb-compilation-buffer-p) very fast.
ECB offers the same compile-window functionality regardless if the
ECB-window are hidden or not. The state of the compile-window will be
preserved when toggling the ecb-windows or when maximizing one
ecb-windows! So you have the advantage of one special window for all
help-, grep or compile-output (see above) also when the ecb-windows
are hidden - a window which will not be deleted if you call
delete-other-windows (bound to C-x 1) for one of the
edit-windows. In general: All features of the compile-window work with
hidden ecb-windows exactly as when the ecb-windows are visible.
Normally displaying temp- and compilation-buffers (or more general:
displaying buffer for which ecb-compilation-buffer-p is not
nil) should work reliable. But if there are problems which you can not
handle with the options ecb-compilation-buffer-names,
ecb-compilation-major-modes or
ecb-compilation-predicates then please go on like follows:
ecb-layout-debug-mode to not nil.
ecb-submit-problem-report.
ecb-layout-debug-mode back to nil if you do not want
further debugging output in the *Messages* buffer"
Emacs offers three options for a special-display-handling of certain
buffers: special-display-function,
special-display-buffer-names and
special-display-regexps (see the Emacs manual for a description
of these options). ECB offers an option
ecb-ignore-special-display for specification in which
situations ECB should take account for the values of these
special-display-options.
Default-behavior of ECB is to ignore these special-display-options
when a durable compile-window is active (i.e.
ecb-compile-window-height is not nil). But with
ecb-ignore-special-display you can tell ECB, that either always
the special-display-options should be ignored as long as ECB is active
or that they should be never igored regardless if a durable
compile-window is set or not. In the latter case using
display-buffer or pop-to-buffer takes always account for
the values of these options - like the original behavior of Emacs.