# HG changeset patch # User Dave Love # Date 957373388 0 # Node ID 335a95fe243d5dc35408e48062424bdc9f2995e7 # Parent f965fe4c8bc79b50cb3edf795d9e7f2b66e767ee (display-time-mail-face, display-time-use-mail-icon): New option. (display-time-mail-icon): New variable. (display-time-string-forms): Use the above. Fix the local-map. diff -r f965fe4c8bc7 -r 335a95fe243d lisp/time.el --- a/lisp/time.el Wed May 03 14:51:58 2000 +0000 +++ b/lisp/time.el Wed May 03 17:03:08 2000 +0000 @@ -132,6 +132,28 @@ (remove-hook 'rmail-after-get-new-mail-hook 'display-time-event-handler)))) +(defcustom display-time-mail-face 'mode-line + "Face to use for `display-time-mail-string'. +If `display-time-use-mail-icon' is non-nil, the image's background +colour is the background of this face. Set this to a face other than +`mode-line' to make the mail indicator stand out on a suitable +display." + :group 'faces + :group 'display-time + :type 'face) + +(defvar display-time-mail-icon + (find-image '((:type xbm :file "letter.xbm" :ascent 100))) + "Image specification to offer as the mail indictor on a grephic +display. See `display-time-use-mail-icon' and +`display-time-mail-face'.") + +(defcustom display-time-use-mail-icon nil + "Non-nil means use an icon as the mail indictor on a grephic display. +Otherwise use the string \"Mail\". The icon may consume less of the +mode line. It is specified by `display-time-mail-icon'." + :group 'display-time + :type 'boolean) (defcustom display-time-format nil "*A string specifying the format for displaying the time in the mode line. @@ -143,19 +165,26 @@ :group 'display-time) (defcustom display-time-string-forms - `((if (and (not display-time-format) display-time-day-and-date) + '((if (and (not display-time-format) display-time-day-and-date) (format-time-string "%a %b %e " now) "") (format-time-string (or display-time-format (if display-time-24hr-format "%H:%M" "%-I:%M%p")) now) load - (if mail ,(propertize " Mail" - 'help-echo "mouse-2: Read mail" - 'local-map (make-mode-line-mouse2-map - (lambda (e) - (interactive "e") - (funcall read-mail-command)))) + (if mail + ;; Build the string every time to act on customization. + (concat " " + (propertize + "Mail" + 'display `(when (and display-time-use-mail-icon + (display-graphic-p)) + ,@display-time-mail-icon + ,@(list :background (face-attribute + display-time-mail-face + :background))) + 'help-echo "mouse-2: Read mail" + 'local-map (make-mode-line-mouse2-map read-mail-command))) "")) "*A list of expressions governing display of the time in the mode line. For most purposes, you can control the time format using `display-time-format'