;;; Code:
(require 'riece-message)
+(require 'riece-biff)
(defgroup riece-mini nil
"riece on minibuffer"
:group 'riece)
-(defcustom riece-mini-backlog-size 10
+(defcustom riece-mini-backlog-size 5
"*Line numbers for logging back log."
:type 'integer
:group 'riece-mini)
(defun riece-mini-show-backlog ()
"Send back logs to minibuffer."
(interactive)
- (let ((max-mini-window-height (1+ 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)
+ (when (and (memq 'riece-biff riece-addons)
+ riece-biff-enabled)
+ (riece-biff-clear))
+ (riece-mini-message-no-log
+ "%s" (mapconcat #'identity riece-mini-backlog-history "\n"))))))
(defun riece-mini-pre-command ()
(when riece-mini-backlog-shown
(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)