Next: , Previous: Simulating speedbar, Up: Common use-cases

10.5 Integrating speedbar in the ECB-frame

It is very easy to integrate speedbar into ECB. There are two different ways to do this:

  1. You can either use speedbar in the directories-, sources- or methods-window of ECB instead of the built-in directory-, sources- or methods-browser of ECB. This can be done via the option ecb-use-speedbar-instead-native-tree-buffer.
  2. Or you can integrate an extra speedbar-window into a layout independent of the existence of a directory-, sources- or methods-window. For this you can either use the built-in layout “left-dir-plus-speedbar” or you have to create your own layout interactively with the command ecb-create-new-layout. This way is not described in more details because there is nothing more to describe - just create your layout.

In general integrating speedbar into the ECB-frame makes sense for people...

Note: It is not necessary to integrate speedbar if you only want parsing sources not supported by semantic. From version 1.94 on ECB supports native parsing and displaying of such sources (see Non-semantic sources)!

Regardless the group you belong, with the speedbar-integration feature of ECB you can combine both worlds, the speedbar- and the ECB-world:

  1. Choose a layout which either contains a directories- or a sources-window but not both of them1.

    Because speedbar has also display-modes for buffers and info-nodes and some other useful things (which can be changed by the speedbar-command speedbar-change-initial-expansion-list we recommend layouts like “left15” or “leftright3” for using with speedbar.

  2. Set the option ecb-use-speedbar-instead-native-tree-buffer to not nil. After this the chosen window of ECB will contain a full featured speedbar (the only difference to standard speedbar is not residing in an extra frame).

Note: If you belong to the first group of people (s.a.) a similar effect and usability is available by setting ecb-use-speedbar-instead-native-tree-buffer to nil and setting ecb-show-sources-in-directories-buffer to not nil, because this combination displays also directories and sources in one window.

So with the option ecb-use-speedbar-instead-native-tree-buffer you have the choice which way of displaying and handling “things” (directories, sources, methods...) you want (the speedbar- or the ECB-way).

During speedbar is running within ECB (i.e. ecb-use-speedbar-instead-native-tree-buffer is not nil) the speedbar-command speedbar is disabled and the speedbar-command speedbar-get-focus switches between the speedbar-window and the edit-window2.

IMPORTANT: ECB can only integrate speedbar-versions >= 0.14beta1! If you use lower versions of speedbar ecb-use-speedbar-instead-native-tree-buffer has no effect.


[1] Only one of them is needed if you use speedbar because speedbar displays directories and sources in one window. But if you like wasting space then you can also use a layout with both windows...

[2] The standard behavior is switching between the speedbar-frame and the attached frame, but this make obviously no sense during running speedbar with ECB.