Next: , Previous: ecb-layout, Up: Customizable options


7.3.10 Group ecb-compilation

This group contains settings for the compile window of ECB:

— User Option: compilation-buffer-names

Additional buffer names that should be displayed in the compile-window. Buffer names can either be defined as strings or as regexps. If the buffer-name of a buffer matches one of the defined string or regexp then it will be displayed in the compile-window of ECB even if compilation-buffer-p says nil for this buffer.

It is not recommended to add the eshell-buffer-names to this list because ECB already handles the eshell-integration as best as possible (see Using eshell).

See also the options ecb-compilation-major-modes and ecb-compilation-predicates.

— User Option: compilation-major-modes

Additional major-mode that should be displayed in the compile-window. All buffers of a major-mode contained in this list are displayed in the compile-window even if compilation-buffer-p says nil for such a buffer.

It is not recommended to add eshell-mode to this list because ECB already handles the eshell-integration as best as possible (see Using eshell).

— User Option: compilation-predicates

Predicates when a buffer should be treated as compilation-buffer. Every element of this list has to be a function or lambda-expression which gets as argument a buffer-object and which has to return not nil when this buffer should be treated as compilation-buffer (even if compilation-buffer-p says nil) and therefore be displayed in the compile-window of ECB (if there is any).

In combination with the values of ecb-compilation-buffer-names and ecb-compilation-major-modes ECB decides when a buffer is displayed in the compile-window.

Default value is the function comint-check-proc which returns not nil when the buffer is related to a living process.

— User Option: compile-window-height

Height of the persistent compilation-window of ECB. If you want a compilation window shown at the bottom of the ECB-layout then set here the height of it (Default is a height of 5). If you redraw the current layout with ecb-redraw-layout then the compilation window (if any) has the height you set here. If the number is less than 1.0 the height is a fraction of the frame height.

If you do not set a persistent compilation window then doing a compilation or displaying temp-buffers (e.g. *Help*-buffers) splits temporally the edit window vertically if the edit window is not splitted already or uses another edit window temporally for compilation output if the edit window is already splitted. This is the recommended value for this option because this is the standard-behavior of Emacs.

Beware: If you set a persistent compilation window then ECB displays all buffers for which ecb-compilation-buffer-p returns not nil in that persistent compilation window. If a buffer which should being displayed there is not displayed there then try to modify the options ecb-compilation-buffer-names, ecb-compilation-major-modes or ecb-compilation-predicates (in this sequence).

See also the options ecb-compile-window-temporally-enlarge and ecb-enlarged-compilation-window-max-height and also the command ecb-toggle-compile-window-height!

ECB offers the functionality of such a persistent compile-window regardless if the special ECB-windows are visible or not (see the command ecb-toggle-ecb-windows).

Regardless of the settings you define here: If you have destroyed or changed the ECB-screen-layout by any action you can always go back to this layout with ecb-redraw-layout

— User Option: compile-window-prevent-shrink-below-height

Allow the compile-window to be shrunken below its height. A non nil value means ECB prevents the compile-window from being shrunken below the threshold of ecb-compile-window-height by displaying temp-buffers (e.g. *Help* etc.) or after running compilations or greps. But interactively it is always allowed to shrink it to every height!

If nil then ECB does nothing to prevent being shrunken below the value of ecb-compile-window-height.

Default is t.

— User Option: compile-window-temporally-enlarge

Let Emacs temporally enlarge the compile-window of the ECB-layout. This option has only an effect if ecb-compile-window-height is not nil!

The following values are possible:

To restore the ECB-layout after such a buffer-enlarge just call ecb-toggle-compile-window-height or ecb-redraw-layout.

— User Option: compile-window-width

Width of the compile-window.

Possible values are frame and edit-window. With frame the compile-window looks like:

           -------------------------------------------------------
           |              |                                      |
           |  Directories |                                      |
           |              |                                      |
           |--------------|            edit-window(s)            |
           |              |                                      |
           |  Methods     |                                      |
           |              |                                      |
           -------------------------------------------------------
           |                                                     |
           |                    Compilation                      |
           |                                                     |
           -------------------------------------------------------

With edit-window the compile-window looks like:

           -------------------------------------------------------
           |              |                                      |
           |  Directories |                                      |
           |              |                                      |
           |--------------|            edit-window(s)            |
           |              |                                      |
           |  Methods     |                                      |
           |              |                                      |
           |              |---------------------------------------
           |              |                                      |
           |              |            Compilation               |
           |              |                                      |
           -------------------------------------------------------

This option takes only effect if ecb-compile-window-height is not nil!

— User Option: change-layout-preserves-compwin-state

Changing the layout preserves the state of the compile-window. This is for example useful if the user toggles between several layouts (see ecb-toggle-layout) and wants to preserve the hidden-state of the compile-window.

— User Option: enlarged-compilation-window-max-height

The max height of the compile-window after enlarging it. The max height of the compilation window after enlarged by ecb-toggle-compile-window-height. The following values are allowed:

best:

ECB fits the height of the compile-window exactly to the size of its current contents but never shrinks below the value of ecb-compile-window-height or enlarges over the half of the frame-height of the ECB-frame. The values of the options compilation-window-height and temp-buffer-max-height are taken into account dependent of the current major-mode of the buffer in the compile-window: If compilation-mode then compilation-window-height is used otherwise temp-buffer-max-height.

half:

1/2 the frame-height of the ECB-frame

Any number:

Max height in lines. If the number is less than 1.0 the height is a fraction of the frame height (e.g. 0.33 results in a max-height of 1/3 the frame-height).

— User Option: scroll-other-window-scrolls-compile-window

scroll-other-window scrolls always the compile-window. For all details about the scroll-behavior of scroll-other-window see the advice documentation of other-window-for-scrolling.