* riece-server.el (riece-server-keyword-map): Add :protocol.
[riece] / lisp / riece-mini.el
index 8c6bbc3..08301ee 100644 (file)
@@ -30,7 +30,7 @@
 ;; are visiting other buffers.
 
 ;; To use, add the following line to your ~/.riece/init.el:
-;; (add-to-list 'riece-addons 'riece-mini t)
+;; (add-to-list 'riece-addons 'riece-mini)
 ;;
 ;; And for using conveniently, bind any global key to
 ;; `riece-mini-send-message'.
 
 (defvar riece-mini-last-channel nil)
 
+(defvar riece-mini-enabled nil)
+
+(defconst riece-mini-description
+  "Send arrival messages to minibuffer")
+
 (defmacro riece-mini-message-no-log (string &rest args)
   "Like `message', except that message logging is disabled."
   (if (featurep 'xemacs)
 
 (defun riece-mini-display-message-function (message)
   "Show arrival messages to minibuffer."
-  (unless (or (eq (window-buffer (selected-window))
-                 (get-buffer riece-command-buffer))
-             (riece-message-own-p message)
-             (active-minibuffer-window))
-    (let ((open-bracket
-          (funcall riece-message-make-open-bracket-function message))
-         (close-bracket
-          (funcall riece-message-make-close-bracket-function message))
-         (global-name
-          (funcall riece-message-make-global-name-function message)))
-      (setq riece-mini-last-channel (riece-message-target message))
-      (riece-mini-message-no-log
-       "%s" (concat (format-time-string "%H:%M") " "
-                   open-bracket global-name close-bracket
-                   " " (riece-message-text message))))))
+  (when (and riece-mini-enabled
+            (not (or (eq (window-buffer (selected-window))
+                         (get-buffer riece-command-buffer))
+                     (riece-message-own-p message)
+                     (active-minibuffer-window))))
+    (unless (riece-message-type message)
+      (setq riece-mini-last-channel (riece-message-target message)))
+    (riece-mini-message-no-log
+     "%s" (concat (format-time-string "%H:%M") " "
+                 (riece-format-message message t)))))
 
 (defun riece-mini-send-message (arg)
   "Send message using minibuffer.
@@ -79,8 +79,8 @@ If twice (C-u C-u), then ask the channel."
         (target
          (cond
           ((equal arg '(16))
-           (completing-read "Channel/User: "
-                            (mapcar #'list riece-current-channels) nil t))
+           (riece-completing-read-identity
+            "Channel/User: " riece-current-channels nil t))
           (arg (or riece-mini-last-channel riece-current-channel))
           (t riece-current-channel)))
         (message (read-string (format "Message to %s: " target))))
@@ -90,12 +90,20 @@ If twice (C-u C-u), then ask the channel."
        (format "PRIVMSG %s :%s\r\n"
               (riece-identity-prefix target)
               message))
-      (riece-own-channel-message message target))))
+      (riece-display-message
+       (riece-make-message (riece-current-nickname) target
+                          message nil t)))))
 
 (defun riece-mini-insinuate ()
   (add-hook 'riece-after-display-message-functions
            'riece-mini-display-message-function))
 
+(defun riece-mini-enable ()
+  (setq riece-mini-enabled t))
+
+(defun riece-mini-disable ()
+  (setq riece-mini-enabled nil))
+
 (provide 'riece-mini)
 
 ;;; riece-mini.el ends here