X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Friece-mini.el;h=4a19a7268b69987a513d4a0fcae923e11aac5086;hb=bf2df5d4bf0f70c7f102eb924e352f83d46f3fa4;hp=1b23e6ad8a663e226f36c1e13f89271c8db4ff97;hpb=d2db47236e2c9e122fbf6a2a552c357f73bf6ec2;p=elisp%2Friece.git diff --git a/lisp/riece-mini.el b/lisp/riece-mini.el index 1b23e6a..4a19a72 100644 --- a/lisp/riece-mini.el +++ b/lisp/riece-mini.el @@ -1,4 +1,4 @@ -;;; riece-mini.el --- "riece on minibuffer" add-on +;;; riece-mini.el --- use Riece only on the minibuffer ;; Copyright (C) 2003 OHASHI Akira ;; Author: OHASHI Akira @@ -18,11 +18,13 @@ ;; 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: +;; NOTE: This is an add-on module for Riece. + ;; This add-on shows arrival messages to minibuffer. And you can send ;; message using minibuffer. ;; @@ -41,9 +43,10 @@ ;;; Code: (require 'riece-message) +(require 'riece-biff) (defgroup riece-mini nil - "riece on minibuffer" + "Use Riece only on the minibuffer." :group 'riece) (defcustom riece-mini-backlog-size 5 @@ -55,19 +58,17 @@ (defvar riece-mini-backlog-history nil) (defvar riece-mini-backlog-shown nil) -(defvar riece-mini-enabled nil) - (defconst riece-mini-description - "Send arrival messages to minibuffer") + "Use Riece only on the minibuffer.") -(defmacro riece-mini-message-no-log (string &rest args) +(defun riece-mini-message-no-log (string &rest args) "Like `message', except that message logging is disabled." (if (featurep 'xemacs) (if args - `(display-message 'no-log (format ,string ,@args)) - `(display-message 'no-log ,string)) - `(let (message-log-max) - (message ,string ,@args)))) + (display-message 'no-log (apply #'format string args)) + (display-message 'no-log string)) + (let (message-log-max) + (apply #'message string args)))) (defun riece-mini-display-message-function (message) "Show arrival messages to minibuffer." @@ -81,7 +82,7 @@ (cdr riece-mini-backlog-history))) (setq riece-mini-backlog-history (reverse (cons string (reverse riece-mini-backlog-history)))) - (when (and riece-mini-enabled + (when (and (get 'riece-mini 'riece-addon-enabled) (not (or (eq (window-buffer (selected-window)) (get-buffer riece-command-buffer)) (riece-message-own-p message) @@ -126,6 +127,9 @@ If twice (C-u C-u), then ask the channel." (let ((max-mini-window-height height) (resize-mini-windows t)) (setq riece-mini-backlog-shown t) + (when (and (memq 'riece-biff riece-addons) + (get 'riece-biff 'riece-addon-enabled)) + (riece-biff-clear)) (riece-mini-message-no-log "%s" (mapconcat #'identity riece-mini-backlog-history "\n")))))) @@ -135,16 +139,19 @@ If twice (C-u C-u), then ask the channel." (setq riece-mini-backlog-shown nil) (riece-mini-message-no-log "")))) +(defun riece-mini-requires () + (if (memq 'riece-biff riece-addons) + '(riece-biff))) + (defun riece-mini-insinuate () (add-hook 'riece-after-display-message-functions 'riece-mini-display-message-function) (add-hook 'pre-command-hook 'riece-mini-pre-command)) -(defun riece-mini-enable () - (setq riece-mini-enabled t)) - -(defun riece-mini-disable () - (setq riece-mini-enabled nil)) +(defun riece-mini-uninstall () + (remove-hook 'riece-after-display-message-functions + 'riece-mini-display-message-function) + (remove-hook 'pre-command-hook 'riece-mini-pre-command)) (provide 'riece-mini)