-;;; riece-unread.el --- "unread message mark" add-on
+;;; riece-unread.el --- mark channels where new messages arrived
;; Copyright (C) 1998-2003 Daiki Ueno
;; Author: Daiki Ueno <ueno@unixuser.org>
;;; Commentary:
-;; This add-on marks channels where new messages are arrived.
+;; NOTE: This is an add-on module for Riece.
+
+;; This add-on marks channels where new messages arrived.
;; You can check the unread channels via `C-c g' in the commands
;; buffer, by adding the following lines to ~/.riece/init.el:
(require 'riece-message)
(require 'riece-commands)
(require 'riece-signal)
-
-(eval-when-compile (require 'riece-highlight))
+(require 'riece-highlight)
(defgroup riece-unread nil
- "Mark unread channels"
+ "Mark unread channels."
:tag "Unread"
:prefix "riece-"
:group 'riece)
:group 'riece-highlight-faces)
(defvar riece-channel-list-unread-face 'riece-channel-list-unread-face)
-(unless (find-face 'riece-modeline-unread-face)
+(unless (riece-facep 'riece-modeline-unread-face)
(make-face 'riece-modeline-unread-face
"Face used for displaying unread channels in modeline.")
(if (featurep 'xemacs)
(defvar riece-unread-enabled nil)
(defconst riece-unread-description
- "Mark channels where \"unread\" messages arrived")
+ "Mark channels where new messages arrived.")
(defun riece-unread-after-display-message-function (message)
(if riece-unread-enabled
(defun riece-unread-after-switch-to-channel-function (last)
(if riece-unread-enabled
(setq riece-unread-channels
- (delete riece-current-channel
- riece-unread-channels))))
+ (delq (car (riece-identity-member riece-current-channel
+ riece-unread-channels))
+ riece-unread-channels))))
(defun riece-unread-format-identity-for-channel-list-buffer (index identity)
(if (and riece-unread-enabled
(error "No unread channel!")))
(defun riece-guess-channel-from-unread ()
- riece-unread-channels)
+ (reverse riece-unread-channels))
(defun riece-unread-requires ()
(let (requires)
;;; 'riece-guess-channel-from-unread))
)
+(defun riece-unread-uninstall ()
+ (remove-hook 'riece-after-display-message-functions
+ 'riece-unread-after-display-message-function)
+ (remove-hook 'riece-after-switch-to-channel-functions
+ 'riece-unread-after-switch-to-channel-function)
+ (remove-hook 'riece-format-identity-for-channel-list-buffer-functions
+ 'riece-unread-format-identity-for-channel-list-buffer)
+ (remove-hook 'riece-format-identity-for-channel-list-indicator-functions
+ 'riece-unread-format-identity-for-channel-list-indicator)
+ (setq riece-channel-list-mark-face-alist
+ (delq (assq ?! riece-channel-list-mark-face-alist)
+ riece-channel-list-mark-face-alist))
+;;; (if (memq 'riece-guess riece-addons)
+;;; (add-hook 'riece-guess-channel-try-functions
+;;; 'riece-guess-channel-from-unread))
+ )
+
(defvar riece-command-mode-map)
(defvar riece-dialogue-mode-map)
(defvar riece-channel-list-mode-map)