Function: org-timer-set-mode-line

org-timer-set-mode-line is a byte-compiled function defined in org-timer.el.gz.

Signature

(org-timer-set-mode-line VALUE)

Documentation

Set the mode-line display for relative or countdown timer.

VALUE can be on, off, or paused.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-timer.el.gz
(defun org-timer-set-mode-line (value)
  "Set the mode-line display for relative or countdown timer.
VALUE can be `on', `off', or `paused'."
  (when (or (eq org-timer-display 'mode-line)
	    (eq org-timer-display 'both))
    (or global-mode-string (setq global-mode-string '("")))
    (or (memq 'org-timer-mode-line-string global-mode-string)
	(setq global-mode-string
	      (append global-mode-string '(org-timer-mode-line-string)))))
  (when (or (eq org-timer-display 'frame-title)
	    (eq org-timer-display 'both))
    (or (memq 'org-timer-mode-line-string frame-title-format)
	(setq frame-title-format
	      (append frame-title-format '(org-timer-mode-line-string)))))
  (cl-case value
    (off
     (when org-timer-mode-line-timer
       (cancel-timer org-timer-mode-line-timer)
       (setq org-timer-mode-line-timer nil))
     (when (or (eq org-timer-display 'mode-line)
	       (eq org-timer-display 'both))
       (setq global-mode-string
	     (delq 'org-timer-mode-line-string global-mode-string)))
     (when (or (eq org-timer-display 'frame-title)
	       (eq org-timer-display 'both))
       (setq frame-title-format
	     (delq 'org-timer-mode-line-string frame-title-format)))
     (force-mode-line-update))
    (paused
     (when org-timer-mode-line-timer
       (cancel-timer org-timer-mode-line-timer)
       (setq org-timer-mode-line-timer nil)))
    (on
     (when (or (eq org-timer-display 'mode-line)
	       (eq org-timer-display 'both))
       (or global-mode-string (setq global-mode-string '("")))
       (or (memq 'org-timer-mode-line-string global-mode-string)
	   (setq global-mode-string
		 (append global-mode-string '(org-timer-mode-line-string)))))
     (when (or (eq org-timer-display 'frame-title)
	       (eq org-timer-display 'both))
       (or (memq 'org-timer-mode-line-string frame-title-format)
	   (setq frame-title-format
		 (append frame-title-format '(org-timer-mode-line-string)))))
     (org-timer-update-mode-line)
     (when org-timer-mode-line-timer
       (cancel-timer org-timer-mode-line-timer)
       (setq org-timer-mode-line-timer nil))
     (when org-timer-display
       (setq org-timer-mode-line-timer
	     (run-with-timer 1 1 #'org-timer-update-mode-line))))))