Node:ecb-general, Next:ecb-directories, Previous:Customizable options, Up:Customizable options
This group contains the following options:
Normal hook run at the end of activating the ecb-package by running
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
IMPORTANT: The difference between this hook and
Hook run at the end of activating ECB by |
Automatically startup ECB when Emacs starts up. This should only be
true if you always want to run |
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 |
Normal hook run at the beginning of activating the ecb-package by
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
Normal hook run at the beginning of deactivating ECB by running
Local hook running at the end of each tree-buffer creation. Every
function of this hook is called once without arguments direct after
creating a tree-buffer of ECB and it's local key-map. So for example a
function could be added which performs calls of |
The following keys must not be rebind in all tree-buffers:
Normal hook run at the end of |
See documentation of
Precondition for such a hook: Current buffer is the buffer of the current selected edit-window.
Postcondition for such a hook: Point must stay in the same edit-window as before evaluating the hook.
Important note: If
It is strongly recommended that each function added to this hook uses
Normal hook run at the end of deactivating (but before the ecb-layout
is cleared!) ECB by running |
If not nil ECB displays debug-information in the Messages-buffer. This
is done for some critical situations concerning semantic-tokens 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
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
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
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.
List of major-modes for which ECB should be activated or shown. Do not
mistake this option with |
The behavior is like follows: If a mode is contained in this option ECB is activated after activating this mode (if ECB was deactivated before) or the ECB-windows are shown if ECB was already active but its windows were hidden. In every case ECB is activated with visible ECB-windows afterwards!
For every major mode there can be specified an
There are two additional options:
Any auto. activation is only done if the current-frame is unsplitted to avoid changing unnecessarily or unintentionally the frame-layout if the user just jumps between different windows.
List of major-modes for which ECB should be deactivated or hidden.
Specify if ECB should be deactivated or at least hidden if a
major-mode is active. For each major-mode there must be added an
action what should be done:
There are two additional options:
If a major-mode is listed in
Any auto. deactivation/hiding is only done if the edit-window of ECB is unsplitted and point is in the edit-window to avoid changing unnecessarily or unintentionally the frame-layout if the user just jumps between different edit-windows, the tree-windows and the compile-window of ECB.
There is one exception from this rule: If the edit-window is splitted and one window contains a dired-buffer and a "ECB-deactivating"-file is opened via dired then opening this file deactivates ECB (rsp. hides the ECB-windows).
|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.)|
Data shown in the modelines of the special ECB-buffers. Everey element
of this list is a cons-cell where the car is used to define a
buffer-name and the cdr to define the modeline-data for that buffer.
For details about how to defining a buffer-name see
The cdr is the data for ths modeline and can either be the symbol
In addition to these two predefined values for every special ECB-buffer a function can be specified which gets three args (name of the buffer, current selected directory and current selected source-file) and must return a string which will be displayed in the modeline (or nil if no data should be displayed).
If a special ECB-buffer should not display special data in its modeline then this buffer-name should either not being added to this option or added with "No data" (= nil as cdr).
The whole modeline of the special ECB-buffer consists of the prefix of
Display in the modeline of every special ECB-window the window-number.
The left-top-most window in a frame has the window-number 0 and all
other windows are numbered with increasing numbers in the sequence,
functions like |
This can be used to jump to windows by number with commands like:
(defun my-switch-to-window-number (number) ``Switch to the nth window'' (interactive ``P'') (if (integerp number) (select-window (nth number (window-list)))))
Currently this feature is only available for GNU Emacs 21.X, because neither GNU Emacs < 21 nor XEmacs can evaluate dynamically forms in the mode-line.
Prefixes shown in the modelines of the special ECB-buffers. The
displayed prefix then looks like: "[ <PREFIX>[: ]]", means if a
prefix is defined for an special ECB-buffer then a single space is
prepended and if there is additional text to display (e.g. the current
directory in the sources buffer, see |
Everey element of this list is a cons-cell where the car is used to define a buffer-name and the cdr to define the modeline-prefix for that buffer.
The buffer-name can either be defined as plain string or with a symbol
which contains the buffer-name as value. The latter one is recommended
to define a prefix for one of the builtin ECB-tree-buffers because
then simply the related option-symbol can be used. To add a prefix for
the builtin directories tree-buffer just set the symbol
The cdr is the prefix for a buffer and can either be a string which used as it is or a function-symbol which is called with three argument (the buffer-name, the current selected directory and the current selected source-file) and must return either nil (for no prefix) or a string which is then used a prefix.
If a special ECB-buffer should not have a prefix in its modeline then this buffer-name should either not being added to this option or added with "No prefix" (= nil as cdr).
Jump-destination of a primary mouse-button click. Defines in which
edit-window (if splitted) ECB does the "right" action (opening the
source, jumping to a method/variable) after clicking with the primary
mouse-button (see |
If the edit-window is not splitted this setting doesn't matter.
Note: A click with the secondary mouse-button (see again
Primary- and secondary mouse button for using the ECB-buffers. A click
with the primary button causes the main effect in each ECB-buffer:
A click with the primary mouse-button while the SHIFT-key is pressed called the POWER-click and does the following (depending on the ECB-buffer where the POWER-click occurs):
In addition always the whole node-name is displayed in the minibuffer after a POWER-click \(for this see also `ecb-show-node-info-in-minibuffer').
The secondary mouse-button is for opening (jumping to) the file in the
other window (see the documentation
The following combinations are possible:
If you change this during ECB is activated you must deactivate and activate ECB again to take effect
Node info to display in a tree-buffer. Define which node info should
displayed in a tree-buffer after mouse moving over the node or after a
shift click onto the node.
For every tree-buffer you can define "when" node info should be displayed:
For every tree-buffer you can define what info should be displayed:
Do NOT set this option directly via setq but use always customize!
|Show tip of the day at start time of ECB.|
|File where tip-of-the-day cursor is stored.|
In which tree-buffers RET should finally select an edit-window. If a
name of an ECB tree-buffer is contained in this list then hitting RET
in this tree-buffer selects as last action the right edit-window
otherwise only the right action is performed (opening a new source,
selecting a method etc.) but point stays in the tree-buffer.
A special remark for the
The setting in this option is only the default for each tree-buffer.
Scroll step for easy hor. scrolling via mouse-click in tree-buffers.
XEmacs has horizontal scroll-bars so invisible parts beyond the right
window-border of a tree-buffer can always made visible very easy.
GNU Emacs does not have hor. scroll-bars so especially with the mouse
it is quite impossible to scroll smoothly right and left. The
If this option is a positive integer S then in all ECB-tree-buffers
the keys M-mouse-1 and
Default is a scroll-step of 5. If the value is
|Show the expand symbol before the items in a tree.|
|Enable incremental search in the ECB-tree-buffers. For a detailed explanation see Using the keyboard. If you change this during ECB is activated you must deactivate and activate ECB again to take effect.|
|Indent size for tree buffer. If you change this during ECB is activated you must deactivate and activate ECB again to take effect.|
Enable smart navigation in the tree-windows by horiz. arrow-keys. If
not nil then the left- and right-arrow keys work in the ECB
tree-window in the following smart way if onto an expandable node:
If this option is changed the new value takes first effect after deactivating ECB and then activating it again!
|Use icons for expand/collapse tokens instead of the ascii-strings. If true the ECB displays in its tree-buffers the expand- and collapse symbols with appropriate icons - the icons are the same as used by speedbar.|
|Truncate lines in ECB buffers. If you change this during ECB is activated you must deactivate and activate ECB again to take effect.|
|Truncate long names that don't fit in the width of the ECB windows. If you change this during ECB is activated you must deactivate and activate ECB again to take effect.|
|Tell ECB to use a recursive edit. If set then it can easily be deactivated by (keyboard-escape-quit).|
Checks at start-time if the requirements are fulfilled.
It checks if the required versions of the libraries semantic, eieio and
speedbar are installed and loaded into Emacs.
It is strongly recommended to set this option to not
Synchronize the ECB-windows automatically with current edit window. If
But in every case the synchronization takes only place if the
current-buffer in the edit-window has a relation to files or
directories. Examples for the former one are all
It's recommended to exclude at least
IMPORTANT NOTE: Every time the synchronization is done the hook
|Time Emacs must be idle before the ECB-windows are synchronized with current edit window. If nil then there is no delay, means synchronization takes place immediately. A small value of about 0.25 seconds saves CPU resources and you get even though almost the same effect as if you set no delay.|