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
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:
always
: Node info is displayed by moving with the mouse over a node.if-too-long
: Node info is only displayed by moving with the mouse over a node does not fit into the window-width of the tree-buffer window. In the ECB directories buffer this means also if a node is shortened or if the node has an alias (seeecb-source-path
).shift-click
: Node info is only displayed after a shift click with the primary mouse button onto the node.never
: Node info is never displayed.For every tree-buffer you can define what info should be displayed:
- Directory-buffer:
name
: Only the full node-name is displayed.path
: The full-path of the node is displayed.- Sources-buffer:
name
: Only the full node-name is displayed.file-info
: File infos for this file are displayed.file-info-full
: Fill infos incl. full path for this file are displayed.- History-buffer: see Directories-buffer.
- Methods-buffer:
name
: Only the full node name is displayed.name+type
: The full name + the type of the node (function, class, variable) is displayed.Do NOT set this option directly via setq but use always customize!
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
ecb-directories-buffer-name
: Of course here the edit-window is only selected ifecb-show-sources-in-directories-buffer
is not nil (otherwise this would not make any sense)!The setting in this option is only the default for each tree-buffer. With
ecb-toggle-RET-selects-edit-window
the behavior of RET can be changed fast and easy in a tree-buffer without customizing this option, but of course not for future Emacs sessions!
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
.
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 five-element list where:
- element: 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>”.- element: Directory for special images for the Directories-buffer.
- element: Directory for special images for the Sources-buffer.
- element: Directory for special images for the Methods-buffer.
- element: Directory for special images for the History-buffer.
The directories of the element 2 - 5 are additional image-directories which are searched first for images needed for the respective tree-buffer. If the image can not be found in this directory then the default-directory (1. element) is searched. If the image can't even found there the related ascii-symbol is used.
All but the first element (the default directory) can be nil.
ECB comes with images in four diffenent 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.
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!