Emacs -- hook speedbar into main window [SOLVED]
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.
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
Popular Topics
Advertisement