changeset 47486:19084a962da7

(display-time-mode): Set display-time-load-average here. (display-time-load-average): Initialize to nil. (display-time-default-load-average): Add "None" alternative. (display-time-update): Handle "None" alternative for load-average.
author Richard M. Stallman <rms@gnu.org>
date Sun, 15 Sep 2002 01:51:49 +0000
parents 3e714e68ea77
children 12d639f1385e
files lisp/time.el
diffstat 1 files changed, 48 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/time.el	Sat Sep 14 20:54:45 2002 +0000
+++ b/lisp/time.el	Sun Sep 15 01:51:49 2002 +0000
@@ -39,7 +39,7 @@
   "*File name of mail inbox file, for indicating existence of new mail.
 Non-nil and not a string means don't check for mail.  nil means use
 default, which is system-dependent, and is the same as used by Rmail."
-  :type '(choice (const :tag "(None)" none)
+  :type '(choice (const :tag "None" none)
 		 (const :tag "Default" nil)
 		 (file :format "%v"))
   :group 'display-time)
@@ -67,10 +67,12 @@
 past 15 minutes.  The default is to display 1 minute load average."
   :type '(choice (const :tag "1 minute load" 0)
 		 (const :tag "5 minutes load" 1)
-		 (const :tag "15 minutes load" 2))
+		 (const :tag "15 minutes load" 2)
+		 (const :tag "None" nil))
   :group 'display-time)
 
-(defvar display-time-load-average display-time-default-load-average)
+(defvar display-time-load-average nil
+  "Load average currently being shown in mode line")
 
 (defcustom display-time-load-average-threshold 0.1
   "*Load-average values below this value won't be shown in the mode line."
@@ -245,26 +247,28 @@
 (defun display-time-update ()
   (let* ((now (current-time))
 	 (time (current-time-string now))
-         (load (condition-case ()
-		   ;; Do not show values less than
-		   ;; `display-time-load-average-threshold'.
-                   (if (> (* display-time-load-average-threshold 100)
-			   (nth display-time-load-average (load-average)))
-		       ""
-		     ;; The load average number is mysterious, so
-		     ;; provide some help.
-                     (let ((str (format " %03d" (nth display-time-load-average (load-average)))))
-		       (propertize
-			(concat (substring str 0 -2) "." (substring str -2))
-			'local-map (make-mode-line-mouse-map 'mouse-2
-							     'display-time-next-load-average)
-			'help-echo (concat "System load average for past "
-					   (if (= 0 display-time-load-average)
-					       "1 minute"
-					     (if (= 1 display-time-load-average)
-						 "5 minutes"
-					       "15 minutes")) "; mouse-2: next" ))))
-                 (error "")))
+         (load (if (null display-time-load-average)
+		   ""
+		 (condition-case ()
+		     ;; Do not show values less than
+		     ;; `display-time-load-average-threshold'.
+		     (if (> (* display-time-load-average-threshold 100)
+			    (nth display-time-load-average (load-average)))
+			 ""
+		       ;; The load average number is mysterious, so
+		       ;; provide some help.
+		       (let ((str (format " %03d" (nth display-time-load-average (load-average)))))
+			 (propertize
+			  (concat (substring str 0 -2) "." (substring str -2))
+			  'local-map (make-mode-line-mouse-map 'mouse-2
+							       'display-time-next-load-average)
+			  'help-echo (concat "System load average for past "
+					     (if (= 0 display-time-load-average)
+						 "1 minute"
+					       (if (= 1 display-time-load-average)
+						   "5 minutes"
+						 "15 minutes")) "; mouse-2: next" ))))
+		   (error ""))))
          (mail-spool-file (or display-time-mail-file
                               (getenv "MAIL")
                               (concat rmail-spool-directory
@@ -330,26 +334,27 @@
 are displayed as well.
 This runs the normal hook `display-time-hook' after each update."
   :global t :group 'display-time
-    (and display-time-timer (cancel-timer display-time-timer))
-    (setq display-time-timer nil)
-    (setq display-time-string "")
-    (or global-mode-string (setq global-mode-string '("")))
-    (if display-time-mode
-	(progn
-	  (or (memq 'display-time-string global-mode-string)
-	      (setq global-mode-string
-		    (append global-mode-string '(display-time-string))))
-	  ;; Set up the time timer.
-	  (setq display-time-timer
-		(run-at-time t display-time-interval
-			     'display-time-event-handler))
-	  ;; Make the time appear right away.
-	  (display-time-update)
-	  ;; When you get new mail, clear "Mail" from the mode line.
-	  (add-hook 'rmail-after-get-new-mail-hook
-		    'display-time-event-handler))
-      (remove-hook 'rmail-after-get-new-mail-hook
-		   'display-time-event-handler)))
+  (and display-time-timer (cancel-timer display-time-timer))
+  (setq display-time-timer nil)
+  (setq display-time-string "")
+  (or global-mode-string (setq global-mode-string '("")))
+  (setq display-time-load-average display-time-default-load-average)
+  (if display-time-mode
+      (progn
+	(or (memq 'display-time-string global-mode-string)
+	    (setq global-mode-string
+		  (append global-mode-string '(display-time-string))))
+	;; Set up the time timer.
+	(setq display-time-timer
+	      (run-at-time t display-time-interval
+			   'display-time-event-handler))
+	;; Make the time appear right away.
+	(display-time-update)
+	;; When you get new mail, clear "Mail" from the mode line.
+	(add-hook 'rmail-after-get-new-mail-hook
+		  'display-time-event-handler))
+    (remove-hook 'rmail-after-get-new-mail-hook
+		 'display-time-event-handler)))
 
 (provide 'time)