(defun riece-mini-display-message-function (message)
"Show arrival messages to minibuffer."
- (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)))
- (let ((string (concat (format-time-string "%H:%M") " "
- (riece-format-message message t))))
- (when (string-match "\\(.*\\)$" string)
- (setq string (riece-match-string-no-properties 1 string)))
- (riece-mini-message-no-log "%s" string)
- (while (>= (length riece-mini-backlog-history)
- riece-mini-backlog-size)
- (setq riece-mini-backlog-history
- (cdr riece-mini-backlog-history)))
+ (let ((string (concat (format-time-string "%H:%M") " "
+ (riece-format-message message t))))
+ (when (string-match "\\(.*\\)$" string)
+ (setq string (riece-match-string-no-properties 1 string)))
+ (while (>= (length riece-mini-backlog-history)
+ riece-mini-backlog-size)
(setq riece-mini-backlog-history
- (reverse (cons string (reverse riece-mini-backlog-history)))))))
+ (cdr riece-mini-backlog-history)))
+ (setq riece-mini-backlog-history
+ (reverse (cons string (reverse riece-mini-backlog-history))))
+ (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" string))))
(defun riece-mini-send-message (arg)
"Send message using minibuffer.
(defun riece-mini-show-backlog ()
"Send back logs to minibuffer."
(interactive)
- (let ((max-mini-window-height riece-mini-backlog-size)
- (resize-mini-windows t))
- (when riece-mini-backlog-history
- (setq riece-mini-backlog-shown t)
- (riece-mini-message-no-log
- (mapconcat 'identity riece-mini-backlog-history "\n")))))
+ (when riece-mini-backlog-history
+ (let ((height (1+ riece-mini-backlog-size)))
+ (mapc #'(lambda (string)
+ (setq height (+ height
+ (/ (length string) (window-width)))))
+ riece-mini-backlog-history)
+ (let ((max-mini-window-height height)
+ (resize-mini-windows t))
+ (setq riece-mini-backlog-shown t)
+ (riece-mini-message-no-log
+ "%s" (mapconcat #'identity riece-mini-backlog-history "\n"))))))
(defun riece-mini-pre-command ()
(when riece-mini-backlog-shown