Next: , Previous: Customizable options, Up: Customizable options

7.3.1 Group ecb-general

This group contains general settings for the Emacs code browser:

— User Option: activate-before-layout-draw-hook

Normal hook run at the end of activating the ecb-package by running ecb-activate. This hooks are run after all the internal setup process but directly before(!) drawing the layout specified in ecb-layout (means before dividing the frame into several windows).

A senseful using of this hook can be maximizing the Emacs-frame for example, because this should be done before the layout is drawn because ECB computes the size of the ECB-windows with the current frame size! If you need a hook-option for the real end of the activating process (i.e. after the layout-drawing) look at ecb-activate-hook.

IMPORTANT: The difference between this hook and ecb-redraw-layout-before-hook is that the latter one is evaluated always before the layout is redrawn (for example after calling ecb-redraw-layout) whereas the former one (this hook) is only evaluated exactly once during the activation-process of ECB. So during the activation process there is the following sequence of hooks:

  1. ecb-activate-before-layout-draw-hook \(this one)
  2. ecb-redraw-layout-before-hook
  3. <Drawing the layout>
  4. ecb-redraw-layout-after-hook
  5. ecb-activate-hook

— User Option: activate-hook

Hook run at the end of activating ECB by ecb-activate. This hooks are run at the real end of the activating process, means after the layout has been drawn!. If you need hooks which are run direct before the layout-drawing look at ecb-activate-before-layout-draw-hook.

— User Option: activation-selects-ecb-frame-if-already-active

Trying to activate an already activated ECB selects the ECB-frame. If t then the ECB-frame is selected, if nil then it is not. If 'ask then ECB asks if the ECB-frame should be selected if the current-frame is not the ecb-frame.

— User Option: auto-activate

Automatically startup ECB when Emacs starts up. This should only be true if you always want to run ecb-activate.

— User Option: auto-compatibility-check

Check at ECB-startup if all ECB-options have correct values. If not nil then all ECB-options are checked if their current value have the correct type. It the type is incorrect the option is either auto. upgraded to the new type or reset to the default-value of current ECB if no upgrade is possible. This feature can also upgrade options which are renamed in current ECB and try to transform the old-value to the new named option. After startup all upgraded or reset options are displayed with their old (before upgrade/reset) and new values. See also the commands ecb-upgrade-options and ecb-display-upgraded-options. If this option is off then the user can perform the check and reset manually with ecb-upgrade-options. See Auto. option-upgrading.

— User Option: before-activate-hook

Normal hook run at the beginning of activating the ecb-package by running ecb-activate. These hooks run before any other tasks of the activating process are performed. If any of these hooks returns nil then ECB will not be activated!

This can be used to check some conditions and then only start ECB if all conditions are true. For example a function could be added which returns only nil if Gnus is running. Then calling ecb-activate or ecb-minor-mode will only start ECB if Gnus is not already running.

— User Option: before-deactivate-hook

Normal hook run at the beginning of deactivating ECB by running ecb-deactivate. These hooks run before any other tasks of the deactivating process are performed. If any of these hooks returns nil then ECB will not be deactivated! See also ecb-before-activate-hook.

— User Option: bucket-node-display

How ECB displays bucket-nodes in a ECB tree-buffer. Bucket-nodes have only one job: Nodes with similar properties will be dropped into one bucket for such a common property and all these nodes will be added as children to the bucket-node. Besides being expandable and collapsable a bucket-node has no senseful action assigned. Examples for bucket-nodes are “[+] Variables, “[+] Dependencies” etc. in the Methods-buffer or buckets which combine filenames with same extension under a bucket-node with name this extension.

This option defines how bucket-node should be displayed. The name of the bucket-node is computed by ECB but you can define a prefix, a suffix and a special face for the bucket-node

The default are empty prefix/suffix-strings and ecb-bucket-node-face. But an alternative can be for example '(“[” “]” nil) which means no special face and a display like “[+] [<bucket-name>]”.

— User Option: clear-caches-before-activate

Clear all ECB internal caches before startup. If t then ECB clears all its internal caches before starting up. Caches are used for files- and subdirs (see ecb-cache-directory-contents and ecb-cache-directory-contents-not) for semantic-tags and for the history-filter.

This caches are completely clean at load-time of the ECB-library!

Default is nil, because is makes sense not to clear these caches at start-time because ECB is often deacticated temporally especially in combination with window-managers like escreen.el. In these situations the internal state of ECB should be preserved for next activation.

— User Option: deactivate-hook

Normal hook run at the end of deactivating (but before the ecb-layout is cleared!) ECB by running ecb-deactivate.

— User Option: debug-mode

If not nil ECB displays debug-information in the Messages-buffer. This is done for some critical situations concerning semantic-tags and their overlays (or extends for XEmacs). Normally you should not need this switched on! But if you get errors like “destroyed extend” for XEmacs or “wrong-argument-type” concerning overlays for GNU Emacs then you should switch on this option and submitting a bug-report to the ecb-mailing-list (ecb-submit-problem-report) after getting the error again!

— User Option: grep-function

Function used for performing a grep. The popup-menu of the tree-buffers “Directories”, “Sources” and “History” offer to grep the “current” directory:

— User Option: grep-recursive-function

Function used for performing a recursive grep. For more Details see option `ecb-grep-function' and replace “grep” with “recursive grep”.

— User Option: key-map

Specifies all keybindings for the ECB minor-mode key-map. The value is a cons-cell where the car is a common-prefix key for all the keybindings. The cdr is a list of keybindings each of them a list again. A key-binding has the following form:

        '(<common-prefix-flag> <keysequence> <function>) where
If t then the common-prefix-key defined as car of the value (see above) is used.
If the common prefix-key is used then the final key-binding is the concatenation of the common-prefix-key (see above) and this keysequence.
The function to bind to the key. This can also be a lambda-expression .

It is highly recommended to use one of the standard keys C-c or C-x as first key of your common-prefix-key!

You MUST change this option via customize to take effect!

All keysequences must be inserted as a string and must follow the syntax needed by read-kbd-macro or kbd. This means you can insert the key in the same manner C-h k displays keysequences. Here is the summary of the syntax:

Text is divided into “words” separated by whitespace. Except for the words described below, the characters of each word go directly as characters of the keysequence. The whitespace that separates words is ignored. Whitespace in the macro must be written explicitly, as in C-c SPC.

— User Option: major-modes-show-or-hide

List of major-modes which show or hide the ecb-windows. The value is a cons-cell where the car contains all major-mode-symbols which should show the special ecb-windows and the cdr contains all major-mode-symbols which should hide the special ecb-windows. If the symbol of a major-mode is neither contained in the car-“show-list” nor in the cdr-“hide-list” then the visibility-state of the ecb-windows does not change.

— User Option: minor-mode-text

String to display in the mode line when ECB minor mode is active. (When the string is not empty, make sure that it has a leading space.)

Because for ECB it is quite obvious if it is active or not when the ECB-windows are visible this text is only display in the modeline if the ECB-windows are hidden.

— User Option: run-ediff-in-ecb-frame

Run ediff-sessions in the same frame as ECB is running. If not nil then ECB ensures that ediff runs in the same frame as ECB and ECB restores exactly the “before-ediff”-window-layout after quiting ediff. If nil then ediff decides in which frame it will run - depending on the current window-layout (e.g. if the ecb-windows are currently hidden) this can be the ecb-frame but this can also be a newly created frame or any other frame.

— User Option: stealthy-tasks-delay

Time Emacs must be idle before ECB runs its stealthy tasks. Currently ECB performes the following stealthy tasks:

Prescann directories for emptyness
Prescann directories and display them as empty or not-empty in the directories-buffer. See the documentation of the option ecb-prescan-directories-for-emptyness for a description.
File is read only
Check if sourcefile-items of the directories- or sources-buffer are read-only or not. See documentation of the option ecb-sources-perform-read-only-check.
Checks the version-control-state of files in directories which are managed by a VC-backend. See the option ecb-vc-enable-support.

Here the interval is defined ECB has to be idle before starting with these stealthy tasks. It can be a floating-point value in seconds. The value can also be changed during running ECB.

— User Option: tip-of-the-day

Show tip of the day at start time of ECB.

— User Option: tip-of-the-day-file

File where tip-of-the-day cursor is stored.

— User Option: use-recursive-edit

Tell ECB to use a recursive edit. If set then it can easily be deactivated by (keyboard-escape-quit).

— User Option: version-check

Checks at start-time if the requirements are fulfilled. It checks if the required versions of CEDET is installed and loaded into Emacs.

It is strongly recommended to set this option to not nil!