X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece-biff.el;h=63c5dff315014c0d3ca4221d5f7ca80f324f6de9;hb=04d07d1323a22551174bab3b7e36144823824392;hp=b9f4f42fbcaeb38ac6a131554316c644841ec4f1;hpb=41ef27c1974f2c1c5441f90470ee4859f43d1097;p=riece diff --git a/lisp/riece-biff.el b/lisp/riece-biff.el index b9f4f42..63c5dff 100644 --- a/lisp/riece-biff.el +++ b/lisp/riece-biff.el @@ -1,4 +1,4 @@ -;;; riece-biff.el --- biff add-on +;;; riece-biff.el --- be notified if messages arrives ;; Copyright (C) 2004 OHASHI Akira ;; Author: OHASHI Akira @@ -18,20 +18,19 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: -;; To use, add the following line to your ~/.riece/init.el: -;; (add-to-list 'riece-addons 'riece-biff) +;; NOTE: This is an add-on module for Riece. ;;; Code: (require 'riece-message) (defgroup riece-biff nil - "Biff for new arrival messages" + "Be notified if messages arrives." :prefix "riece-" :group 'riece) @@ -52,13 +51,11 @@ (defvar riece-biff-mode-string 'riece-biff-default-mode-string) -(defvar riece-biff-enabled nil) - (defconst riece-biff-description - "Biff for new arrival messages") + "Be notified if messages arrives.") (defun riece-biff-after-display-message-function (message) - (when (and riece-biff-enabled + (when (and (get 'riece-biff 'riece-addon-enabled) (not (or (eq (window-buffer (selected-window)) (get-buffer riece-command-buffer)) (riece-message-own-p message) @@ -69,7 +66,7 @@ (setq riece-biff-mode-string 'riece-biff-biff-mode-string)))) (defun riece-biff-clear (&optional dummy) - (when riece-biff-enabled + (when (get 'riece-biff 'riece-addon-enabled) (setq riece-biff-mode-string 'riece-biff-default-mode-string))) (defun riece-biff-insinuate () @@ -79,6 +76,13 @@ (add-hook 'riece-after-switch-to-channel-functions 'riece-biff-clear) (add-hook 'riece-exit-hook 'riece-biff-disable)) +(defun riece-biff-uninstall () + (remove-hook 'riece-after-display-message-functions + 'riece-biff-after-display-message-function) + (remove-hook 'riece-redisplay-buffers-hook 'riece-biff-clear) + (remove-hook 'riece-after-switch-to-channel-functions 'riece-biff-clear) + (remove-hook 'riece-exit-hook 'riece-biff-disable)) + (defun riece-biff-enable () (setq global-mode-string (cond @@ -88,8 +92,7 @@ (append '("" riece-biff-mode-string) (remove "" global-mode-string))) (t - global-mode-string))) - (setq riece-biff-enabled t)) + global-mode-string)))) (defun riece-biff-disable () (setq global-mode-string @@ -99,8 +102,7 @@ (remq 'riece-biff-mode-string global-mode-string)) (t global-mode-string))) - (riece-biff-clear) - (setq riece-biff-enabled nil)) + (riece-biff-clear)) (provide 'riece-biff)