(autoload 'bitmap-stipple-xbm-file-to-stipple "bitmap-stipple")
(autoload 'bitmap-stipple-insert-pixmap "bitmap-stipple"))
+(defcustom liece-emacs-unread-character "!"
+ "Unread character."
+ :type 'character
+ :group 'liece-look)
+
;;; @ widget emulation
;;;
(defvar liece-widget-keymap nil)
'rear-nonsticky (list 'display))))
(beginning-of-line 2)))))))
+;;; @ unread mark
+;;;
+(defun liece-emacs-unread-mark (chnl)
+ (if liece-display-unread-mark
+ (with-current-buffer liece-channel-list-buffer
+ (let ((buffer-read-only nil))
+ (goto-char (point-min))
+ (when (re-search-forward (concat "^ ?[0-9]+: " chnl "$") nil t)
+ (goto-char (match-end 0))
+ (insert (concat " " liece-emacs-unread-character)))))))
+
+(defun liece-emacs-read-mark (chnl)
+ (if liece-display-unread-mark
+ (with-current-buffer liece-channel-list-buffer
+ (let ((buffer-read-only nil))
+ (goto-char (point-min))
+ (when (re-search-forward
+ (concat "^ ?[0-9]+: " chnl " "
+ liece-emacs-unread-character "$") nil t)
+ (goto-char (- (match-end 0) 2))
+ (delete-char 2))))))
+
+(defun liece-emacs-redisplay-unread-mark ()
+ (if liece-display-unread-mark
+ (let ((chnl))
+ (dolist (chnl liece-channel-unread-list)
+ (liece-emacs-unread-mark chnl)))))
+
(add-hook 'liece-nick-insert-hook 'liece-emacs-nick-image-region)
(add-hook 'liece-nick-replace-hook 'liece-emacs-nick-image-region)
(and liece-splash-image window-system
(liece-emacs-splash))
+(fset 'liece-redisplay-unread-mark 'liece-emacs-redisplay-unread-mark)
+(add-hook 'liece-channel-unread-hook 'liece-emacs-unread-mark)
+(add-hook 'liece-channel-read-hook 'liece-emacs-read-mark)
+
(provide 'liece-emacs)
;;; liece-emacs.el ends here