;; 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.
(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))))
(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