Function: erc-nickbar-disable
erc-nickbar-disable is an interactive and byte-compiled function
defined in erc-speedbar.el.gz.
Signature
(erc-nickbar-disable)
Documentation
Disable ERC nickbar mode.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-speedbar.el.gz
;;;###autoload(autoload 'erc-nickbar-mode "erc-speedbar" nil t)
(define-erc-module nickbar nil
"Show nicknames for current target buffer in a side window.
When enabling, create a speedbar session if one doesn't exist and
show its buffer in an `erc-status-sidebar' window instead of a
separate frame. If ERC doesn't yet have any live connections,
defer activation until such time. This means the variable
`erc-nickbar-mode' may be t even though no actual speedbar yet
exists. When disabling, destroy the speedbar session.
For controlling whether the speedbar window is selectable with
`other-window', see `erc-nickbar-toggle-nicknames-window-lock'."
((add-hook 'erc--setup-buffer-hook #'erc-speedbar--ensure)
(add-hook 'speedbar-timer-hook #'erc-speedbar--reset-last-ran-on-timer)
(add-hook 'erc-insert-post-hook #'erc-speedbar--prod-dframe-timer)
(add-hook 'erc-server-PONG-functions #'erc-speedbar--prod-dframe-timer)
(erc-speedbar--ensure)
(unless (or erc--updating-modules-p
(and speedbar-buffer
(eq speedbar-frame
(window-frame (get-buffer-window speedbar-buffer t)))))
(when-let* ((buf (or (and (derived-mode-p 'erc-mode) (current-buffer))
(car (erc-buffer-filter #'erc--server-buffer-p)))))
(with-current-buffer buf
(erc-speedbar--ensure 'forcep)))))
((remove-hook 'erc--setup-buffer-hook #'erc-speedbar--ensure)
(remove-hook 'speedbar-timer-hook #'erc-speedbar--reset-last-ran-on-timer)
(remove-hook 'erc-insert-post-hook #'erc-speedbar--prod-dframe-timer)
(remove-hook 'erc-server-PONG-functions #'erc-speedbar--prod-dframe-timer)
(when erc-track-mode
(setq erc-track--switch-fallback-blockers
(remove '(derived-mode . speedbar-mode)
erc-track--switch-fallback-blockers)))
;; `speedbar-buffer' may be nil if the mode was never enabled, such
;; as when disabling the module through Customize after startup.
(when speedbar-buffer
;; Close associated windows and stop updating but leave timer.
(dolist (window (get-buffer-window-list speedbar-buffer nil t))
(unless (frame-root-window-p window)
(when erc-speedbar--hidden-speedbar-frame
(cl-assert (not (eq (window-frame window)
erc-speedbar--hidden-speedbar-frame))))
(delete-window window)))
(with-current-buffer speedbar-buffer
(setq speedbar-update-flag nil)
(speedbar-set-mode-line-format)
(unless (eq erc--module-toggle-prefix-arg most-negative-fixnum)
(dframe-close-frame))))))