Function: erc-track-mode
erc-track-mode is an autoloaded, interactive and byte-compiled
function defined in erc-track.el.gz.
Signature
(erc-track-mode &optional ARG)
Documentation
Toggle ERC track mode.
If called interactively, enable erc-track-mode(var)/erc-track-mode(fun) if ARG is
positive, and disable it otherwise. If called from Lisp, enable
the mode if ARG is omitted or nil.
This mode tracks ERC channel buffers with activity.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-track.el.gz
;;; Module
;;;###autoload(autoload 'erc-track-mode "erc-track" nil t)
(define-erc-module track nil
"This mode tracks ERC channel buffers with activity."
;; Enable:
((when (boundp 'erc-track-when-inactive)
(if erc-track-when-inactive
(progn
(add-hook 'window-configuration-change-hook #'erc-user-is-active)
(add-hook 'erc-send-completed-hook #'erc-user-is-active)
;; FIXME find out why this uses `erc-server-001-functions'.
;; `erc-user-is-active' runs when `erc-server-connected' is
;; non-nil. But this hook usually only runs when it's nil.
(add-hook 'erc-server-001-functions #'erc-user-is-active))
(erc-track-add-to-mode-line erc-track-position-in-mode-line)
(erc-update-mode-line)
(add-hook 'window-configuration-change-hook
#'erc-window-configuration-change)
(add-hook 'erc-insert-post-hook #'erc-track-modified-channels)
(add-hook 'erc-disconnected-hook #'erc-modified-channels-update))
;; enable the tracking keybindings
(add-hook 'erc-connect-pre-hook #'erc-track-minor-mode-maybe)
(erc-track-minor-mode-maybe))
(add-hook 'erc-mode-hook #'erc-track--setup)
(unless erc--updating-modules-p (erc-buffer-do #'erc-track--setup))
(add-hook 'erc-networks--copy-server-buffer-functions
#'erc-track--replace-killed-buffer))
;; Disable:
((when (boundp 'erc-track-when-inactive)
(erc-track-remove-from-mode-line)
(if erc-track-when-inactive
(progn
(remove-hook 'window-configuration-change-hook
#'erc-user-is-active)
(remove-hook 'erc-send-completed-hook #'erc-user-is-active)
(remove-hook 'erc-server-001-functions #'erc-user-is-active)
;; FIXME remove this if unused.
(remove-hook 'erc-timer-hook #'erc-user-is-active))
(remove-hook 'window-configuration-change-hook
#'erc-window-configuration-change)
(remove-hook 'erc-disconnected-hook #'erc-modified-channels-update)
(remove-hook 'erc-insert-post-hook #'erc-track-modified-channels))
;; disable the tracking keybindings
(remove-hook 'erc-connect-pre-hook #'erc-track-minor-mode-maybe)
(when erc-track-minor-mode
(erc-track-minor-mode -1)))
(remove-hook 'erc-mode-hook #'erc-track--setup)
(erc-buffer-do #'erc-track--setup)
(remove-hook 'erc-networks--copy-server-buffer-functions
#'erc-track--replace-killed-buffer)))