Next: ecb-directories, Previous: ecb-general, Up: Customizable options
This group contains general settings related to the tree-buffers of ECB:
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
local-set-key
to define new keybindings for EVERY tree-buffer.The following keys must not be rebind in all tree-buffers:
- RET and all combinations with Shift and Ctrl
- TAB
C-t
Primary- and secondary mouse button for using the ECB-buffers. A click with the primary button causes the main effect in each ECB-buffer:
- ECB Directories: Expanding/collapsing nodes and displaying files in the ECB Sources buffer.
- ECB sources/history: Opening the file in that edit-window specified by the option
ecb-mouse-click-destination
.- ECB Methods: Jumping to the method in that edit-window specified by the option
ecb-mouse-click-destination
.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):
- ECB Directories: Refreshing the directory-contents-cache (see
ecb-cache-directory-contents
).- ECB sources/history: Only displaying the source-contents in the method-buffer but not displaying the source-file in the edit-window.
- ECB Methods: Narrowing to the clicked method/variable/ect... (see
ecb-tag-visit-post-actions
). This works only for semantic supported sources but not for imenu- or etags-supported ones!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 another edit-window (see the documentation
ecb-mouse-click-destination
).The following combinations are possible:
- primary: mouse-2, secondary: C-mouse-2 (means mouse-2 while CTRL-key is pressed). This is the default setting.
- primary: mouse-1, secondary: C-mouse-1
- primary: mouse-1, secondary: mouse-2
Please note: If the tree-buffers are used with the keyboard instead with the mouse then RET is interpreted as primary mouse-button and C-RET as secondary mouse-button!
If you change this during ECB is activated you must deactivate and activate ECB again to take effect
The style of the tree-buffers. There are three different styles available:
Image-style (value
image
): Very nice and modern - just try it. For this style the optionsecb-tree-indent
andecb-tree-expand-symbol-before
have no effect! Note: GNU Emacs <= 21.3.X for Windows does not support image-display so ECB uses always 'ascii-guides even when here 'image is set!Ascii-style with guide-lines (value
ascii-guides
):[-] ECB | [+] code-save `- [-] ecb-images | [-] directories | | [-] height-15 | | | * close.xpm | | | * empty.xpm | | | * leaf.xpm | | `- * open.xpm | | [+] height-17 | | [+] height-19 | `- [+] height-21 | [x] history | [x] methods `- [x] sourcesAscii-style without guide-lines (value
ascii-no-guides
) - this is the style used by ECB <= 1.96:[-] ECB [+] code-save [-] ecb-images [-] directories [-] height-15 * close.xpm * empty.xpm * leaf.xpm * open.xpm [+] height-17 [+] height-19 [+] height-21 [x] history [x] methods [x] sourcesWith both ascii-styles the tree-layout can be affected with the options
ecb-tree-indent
andecb-tree-expand-symbol-before
.
Tree-buffers which stay selected after a key- or mouse-selection. If a buffer (either its name or the variable-symbol which holds the name) is contained in this list then selecting a tree-node either by RET or by a mouse-click doesn't leave that tree-buffer after the node-selection but performes only the appropriate action (opening a new source, selecting a method etc.) but point stays in the tree-buffer. In tree-buffers not contained in this option normaly a node-selection selects as “last” action the right edit-window or maximizes the next senseful tree-buffer in case of a currently maximized tree-buffer (see
ecb-maximize-next-after-maximized-select
).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 for the builtin ECB-tree-buffers because then simply the related option-symbol can be used.
A special remark for the
ecb-directories-buffer-name
: Of course here the value of this option is only relevant if the name of the current layout is contained inecb-show-sources-in-directories-buffer
or if the value ofecb-show-sources-in-directories-buffer
is 'always and the clicked ot hitted node represents a sourcefile (otherwise this would not make any sense)!The setting in this option is only the default for each tree-buffer. With the command
ecb-toggle-do-not-leave-window-after-select
the behavior of a node-selection can be changed fast and easy in a tree-buffer without customizing this option, but of course not for future Emacs sessions!
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 functions
scroll-left
andscroll-right
can be annoying and are also not bound to mouse-buttons.If this option is a positive integer S then in all ECB-tree-buffers the keys M-mouse-1 and
M-mouse-3
are bound to scrolling left rsp. right with scroll-step S - clicking with mouse-1 or mouse-2 onto the edge of the modeline has the same effect, i.e. if you click with mouse-1 onto the left (rsp right) edge of the modeline you will scroll left (rsp. right).Additionally
C-M-mouse-1
andC-M-mouse-3
are bound to scrolling left rsp. right with scroll-stepwindow-width
- 2.Default is a scroll-step of 5. If the value is
nil
then no keys for horizontal scrolling are bound.
Show the expand symbol before the items in a tree. When the expand-symbol is located before the items then the tree looks like:
[-] ECB [+] code-save [-] ecb-images [-] directoriesWhen located after then the tree looks like:
ECB [-] code-save [+] ecb-images [-] directories [-]The after-example above use a value of 2 for
ecb-tree-indent
whereas the before-example uses a value of 4.It is recommended to display the expand-symbol before because otherwise it could be that with a deep nested item-structure with and/or with long item-names (e.g. a deep directory-structure with some long subdirectory-names) the expand-symbol is not visible in the tree-buffer and the tree-buffer has to be horizontal scrolled to expand an item.
Directories where the images for the tree-buffer can be found. This is a cons cell where:
car: Default directory where the default images for the tree-buffer can be found. It should contain an image for every name of
tree-buffer-tree-image-names
. The name of an image-file must be: “ecb-<NAME of TREE-BUFFER-TREE-IMAGE-NAMES>.<ALLOWED EXTENSIONS>”.cdr: This is a list where each element is a cons again with: car is the buffer name of the tree-buffer for which a special image-path should be used. 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 for the builtin ECB-tree-buffers because then simply the related option-symbol can be used (e.g. the symbol
ecb-directories-buffer-name
). The cdr is the the full-path of an additional image-directorie which is searched first for images needed for the related tree-buffer. If the image can not be found in this directory then the default-directory (see above) is searched. If the image can't even be found there the related ascii-symbol is used - which is defined intree-buffer-tree-image-names
. If a tree-buffer is not contained in this list then there is no additional special image-directory for it.ECB comes with predefined images in several different heights - so for the most senseful font-heights of a tree-buffer a fitting image-size should be available. The images reside either in the subdirectory “ecb-images” of the ECB-installation or - if ECB is installed as regular XEmacs-package - in the ECB-etc data-directory (the directory returned by (locate-data-directory “ecb”).
Enable incremental search in the ECB-tree-buffers. For a detailed explanation see the online help section “Working with the keyboard in the ECB buffers”. 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.
When the tree-buffer mouse-action should be triggered. This option determines the moment a mouse-action in a tree-buffer is triggered. This can be either direct after pressing a mouse-button (value
button-press
) or not until releasing the mouse-button (value:button-release
).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:
- Left-arrow: If node is expanded then it will be collapsed otherwise point jumps to the next “higher” node in the hierarchical tree (higher means the next higher tree-level or - if no higher level available - the next higher node on the same level).
- Right-arrow: If node is not expanded then it will be expanded. Onto a not expandable node the horizontal arrow-keys go one character in the senseful correct direction.
If this option is changed the new value takes first effect after deactivating ECB and then activating it again!
Truncate lines in ECB buffers. If a buffer (either its name or the variable-symbol which holds the name) is contained in this list then line-truncation is switched on for this buffer otherwise it is off.
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 switch on line-truncation for one of the builtin ECB-tree-buffers because then simply the related option-symbol can be used. To truncate lines in the builtin directories tree-buffer just add the symbol
ecb-directories-buffer-name
to this option.If you change this during ECB is activated you must deactivate and activate ECB again to take effect.