Function: speedbar-frame-mode

speedbar-frame-mode is an autoloaded, interactive and byte-compiled function defined in speedbar.el.gz.

Signature

(speedbar-frame-mode &optional ARG)

Documentation

Enable or disable speedbar.

Positive ARG means turn on, negative turn off. A nil ARG means toggle. Once the speedbar frame is activated, a buffer in speedbar-mode will be displayed. Currently, only one speedbar is supported at a time. speedbar-before-popup-hook is called before popping up the speedbar frame. speedbar-before-delete-hook is called before the frame is deleted.

Key Bindings

Aliases

speedbar-frame(var)/speedbar-frame(fun)

Source Code

;; Defined in /usr/src/emacs/lisp/speedbar.el.gz
;;;###autoload
(defun speedbar-frame-mode (&optional arg)
  "Enable or disable speedbar.
Positive ARG means turn on, negative turn off.  A nil ARG means toggle.
Once the speedbar frame is activated, a buffer in `speedbar-mode' will
be displayed.  Currently, only one speedbar is supported at a time.
`speedbar-before-popup-hook' is called before popping up the speedbar frame.
`speedbar-before-delete-hook' is called before the frame is deleted."
  (interactive "P")
  (when (eq (speedbar-frame-or-window) 'window)
    (speedbar-window--close))
  ;; Get the buffer to play with
  (if (not (buffer-live-p speedbar-buffer))
      (with-current-buffer
          (setq speedbar-buffer (get-buffer-create speedbar--buffer-name))
	(speedbar-mode)))
  ;; Do the frame thing
  (dframe-frame-mode arg
		     'speedbar-frame
		     'speedbar-cached-frame
		     'speedbar-buffer
		     "Speedbar"
		     #'speedbar-frame-mode
		     speedbar-frame-parameters
		     'speedbar-before-delete-hook
		     'speedbar-before-popup-hook
		     'speedbar-after-create-hook)
  ;; Start up the timer
  (if (not speedbar-frame)
      (speedbar-set-timer nil)
    (speedbar-reconfigure-keymaps)
    (speedbar-update-contents)
    (speedbar-set-timer dframe-update-speed)
    )
  ;; Frame modifications
  (setq-local dframe-delete-frame-function 'speedbar-handle-delete-frame)
  ;; hscroll
  (setq-local auto-hscroll-mode nil)
  ;; reset the selection variable
  (setq speedbar-last-selected-file nil)
  (unless (display-graphic-p)
    (message (substitute-command-keys
              "Use \\[speedbar-get-focus] to see the speedbar window"))))