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))))))