Function: speedbar-window-mode
speedbar-window-mode is an autoloaded, interactive and byte-compiled
function defined in speedbar.el.gz.
Signature
(speedbar-window-mode &optional ARG)
Documentation
Enable or disable speedbar window mode.
Positive ARG means turn on, negative turn off.
A nil ARG means toggle. Once the speedbar window 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.
Probably introduced at or before Emacs version 31.1.
Key Bindings
Aliases
Source Code
;; Defined in /usr/src/emacs/lisp/speedbar.el.gz
;;;###autoload
(defun speedbar-window-mode (&optional arg)
"Enable or disable speedbar window mode.
Positive ARG means turn on, negative turn off.
A nil ARG means toggle. Once the speedbar window 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) 'frame)
(delete-frame (speedbar-current-frame)))
(if (or (and (not arg) (speedbar-window--live-p))
(and (numberp arg) (< arg 0)))
(speedbar-window--close)
(let ((current-window (selected-window)))
(unless (speedbar-window--buffer-live-p)
(setq speedbar-buffer (get-buffer-create speedbar--buffer-name)))
(setq speedbar-frame (selected-frame)
dframe-attached-frame (selected-frame)
speedbar-select-frame-method 'attached
speedbar-last-selected-file nil)
(set-buffer speedbar-buffer)
(speedbar-mode)
;; let's create the window
(setq speedbar--window
(display-buffer-in-side-window speedbar-buffer
`((side ,@speedbar-window-side)
(slot . 0)
(dedicated ,@speedbar-window-dedicated-window)
(window-width ,@speedbar--window-width))))
;; additional window parameters
(set-window-parameter speedbar--window 'no-other-window t)
(set-window-parameter speedbar--window 'no-delete-other-windows t)
;; `speedbar-reconfigure-keymaps' checks if the `speedbar-window' is open, so
;; should stay after the buffer and window definition.
(speedbar-reconfigure-keymaps)
(speedbar-update-contents)
(speedbar-set-timer dframe-update-speed)
;; hscroll
(setq-local auto-hscroll-mode nil)
;; reset the selection variable
(setq speedbar-last-selected-file nil)
(select-window current-window))))