From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcin Borkowski Subject: Re: How to dynamically change org-clock-mode-line-total? Date: Thu, 01 Feb 2018 22:01:24 +0100 Message-ID: <871si42zmj.fsf@mbork.pl> References: <87mv10oocd.fsf@mbork.pl> <87lggkfoo2.fsf@alphaville.usersys.redhat.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34299) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ehM5M-0006Nc-2D for emacs-orgmode@gnu.org; Thu, 01 Feb 2018 16:12:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ehLzL-00008P-01 for emacs-orgmode@gnu.org; Thu, 01 Feb 2018 16:02:48 -0500 Received: from mail.mojserwer.eu ([195.110.48.8]:51375) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ehLzK-0008US-IW for emacs-orgmode@gnu.org; Thu, 01 Feb 2018 16:01:42 -0500 In-reply-to: <87lggkfoo2.fsf@alphaville.usersys.redhat.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nick Dokos Cc: emacs-orgmode@gnu.org On 2018-01-26, at 19:41, Nick Dokos wrote: > Marcin Borkowski writes: > >> 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. >> >> (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)))) >> >> 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? >> > > AFAICT, org-clock-mode-line-total is not used by > org-clock-update-mode-line at all. It may be that the name of the > variable is misleading. The only place I see it used is > org-clock-get-sum-start. Thanks, that helped! It seems my function is now working (almost) correctly, although it is now cargo cult programming - I don't really understand what's going on here. I'll try to make sense of it tomorrow, now it's too late;-). Best, -- Marcin Borkowski