emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] How to dynamically change org-clock-mode-line-total?


From: Marcin Borkowski
Subject: [O] How to dynamically change org-clock-mode-line-total?
Date: Fri, 26 Jan 2018 12:23:56 +0100
User-agent: mu4e 0.9.19; emacs 27.0.50

Hi all,

I want to be able to dynamically switch between various settings of
org-clock-mode-line-total.  To this end, I wrote the following code.

--8<---------------cut here---------------start------------->8---
(setq org-clock-mode-line-total-settings
      '((current . "time spent in this chunk on the current task")
        (today . "time spent today on the current task")
        (all . "total time spent on the current task")))
(setq org-clock-mode-line-total-setting-number 0)

(defun toggle-org-clock-mode-line-total-setting (setting-number)
  "Toggle between org-clock-mode-line-total settings.
With a numeric argument, use setting SETTING-NUMBER."
  (interactive "P")
  (if (numberp setting-number)
      (setq org-clock-mode-line-total-setting-number
            (mod setting-number (length org-clock-mode-line-total-settings)))
    (setq org-clock-mode-line-total-setting-number
          (mod (1+ org-clock-mode-line-total-setting-number)
               (length org-clock-mode-line-total-settings))))
  (let ((org-clock-mode-line-total-setting (nth 
org-clock-mode-line-total-setting-number
                                                
org-clock-mode-line-total-settings)))
    (setq org-clock-mode-line-total (car org-clock-mode-line-total-setting))
    (org-clock-update-mode-line)
    (message "Modeline shows %s."
             (cdr org-clock-mode-line-total-setting))))
--8<---------------cut here---------------end--------------->8---

Unfortunately, it doesn't work.  I checked that the variable
org-clock-mode-line-total is modified correctly, but even after saying
(org-clock-update-mode-line), nothing gets updated.  Am I doing
something wrong?

TIA,

--
Marcin Borkowski



reply via email to

[Prev in Thread] Current Thread [Next in Thread]