emacs-erc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

iterate channels only


From: Emanuel Berg
Subject: iterate channels only
Date: Thu, 17 Mar 2022 03:38:39 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

;;; -*- lexical-binding: t -*-
;;
;; this file:
;;   https://dataswamp.org/~incal/emacs-init/erc/erc-iterate.el

(require 'cl-lib)
(require 'erc)
(require 'erc-scroll)

(defun erc-channel-buffers ()
  (cl-remove-if-not #'erc-channel-p (erc-buffer-list)) )

(defun erc-next-buffer (&optional only-channels)
  "Go to the next ERC buffer.
If ONLY-CHANNELS, skip server buffers."
  (interactive "P")
  (let*((erc-buffers (if only-channels
                         (erc-channel-buffers)
                       (erc-buffer-list) ))
        (current     (car  erc-buffers))
        (next        (cadr erc-buffers)) )
    (when next
      (bury-buffer current)
      (switch-to-erc-buffer next) )))


(defun erc-prev-buffer (&optional only-channels)
  "Go to the prev ERC buffer, if available.
If ONLY-CHANNELS, skip server buffers."
  (interactive "P")
  (let*((erc-buffers (if only-channels
                         (erc-channel-buffers)
                       (erc-buffer-list) ))
        (prev        (car (last erc-buffers))) )
    (when prev
      (switch-to-erc-buffer prev) )))

(provide 'erc-iterate)

-- 
underground experts united
https://dataswamp.org/~incal




reply via email to

[Prev in Thread] Current Thread [Next in Thread]