Advertisement

Emacs -- hook speedbar into main window [SOLVED]

Started by November 13, 2005 02:19 AM
0 comments, last by Halsafar 18 years, 10 months ago
Is there anyway to have the Speedbar open up in the main window as a seperate buffer... Sorta like the standard IDE project file viewer. I hate having the speedbar open in its own window. Thanks, Halsafar [Edited by - Halsafar on November 14, 2005 9:53:32 AM]
Solved:
Add this to .emacs:

;-------------------------------------------
;SPEED BAR IN MAIN WINDOW
;-------------------------------------------
(load-file "/home/halsafar/cedet-1.0pre3/common/cedet.el")

(require 'speedbar)

(defconst my-speedbar-buffer-name "SPEEDBAR")

(defun my-speedbar-no-separate-frame ()
(interactive)
(when (not (buffer-live-p speedbar-buffer))
(setq speedbar-buffer (get-buffer-create my-speedbar-buffer-name)
speedbar-frame (selected-frame)
dframe-attached-frame (selected-frame)
speedbar-select-frame-method 'attached
speedbar-verbosity-level 0
speedbar-last-selected-file nil)
(set-buffer speedbar-buffer)
(speedbar-mode)
(speedbar-reconfigure-keymaps)
(speedbar-update-contents)
(speedbar-set-timer 1)
(make-local-hook 'kill-buffer-hook)
(add-hook 'kill-buffer-hook
(lambda () (when (eq (current-buffer) speedbar-buffer)
(setq speedbar-frame nil
dframe-attached-frame nil
speedbar-buffer nil)
(speedbar-set-timer nil)))))
(set-window-buffer (selected-window)
(get-buffer my-speedbar-buffer-name)))



Note that the speedbar must be visible before this code is called and should be disabled once it is done. So add
(speedbar t) before the above snippet
(speedbar nil) below the above the snippet. Wherever it suits your .emacs file.

This will open the speedbar into a buffer which you can switch to.
You will need the cedet package though.

This topic is closed to new replies.

Advertisement