Use a fórmula na agenda clockreport para converter o tempo? (contagem de pomodoro na Agenda)

8

Estou tentando fazer com que o Relatório da Agenda mostre quantos pomodoros investi em uma tarefa. Um Pomodoro é de 25 minutos. Por exemplo, 1:15 horas de trabalho são 3 pomodoros.

Estou tentando personalizar org-agenda-clockreport-paramater-pliste gostaria de extrair "Time" e convertê-lo em um pomodoro. Ou seja, (tempo em minutos / 25) = pomodoro.

Eu estava pensando em usar :formulaa partir de O Relógio de mesa , mas não tenho certeza por onde começar ou onde procurar exemplos.

Isso é tecnicamente possível de alguma forma?

[edit Solution]
Graças à postagem de Sacha, eu uso a configuração da seguinte maneira:

(setq org-agenda-clockreport-parameter-plist 
 '(:fileskip0 t :link t :maxlevel 2 :formula "$5=($3+$4)*(60/25);t"))

Isso cria um relatório que ignora arquivos vazios da agenda organizacional, tem 2 níveis de profundidade e adiciona uma coluna que mostra pomodoros com 2 casas decimais. ('t' = tempo em horas).

Por exemplo, captura de tela:

insira a descrição da imagem aqui

Se quiser, lembre-se de votar na resposta de Sacha.

Leo Ufimtsev
fonte

Respostas:

11

Isso criará uma coluna no seu relatório de tabela de horário que somará as horas das colunas 3 e 4 e, em seguida, outra coluna que mostra o número redondo de pomodoros que ocuparam.

(setq org-agenda-clockreport-parameter-plist 
      '(:link t :maxlevel 2 :formula "$5=$3+$4;t::$6=ceil($5*60/25);N"))

Se você não deseja colunas intermediárias, aqui está uma abordagem totalmente hackeada:

(defun my/org-minutes-to-clocksum-string (m)
  "Format number of minutes as a clocksum string.
Shows the number of 25-minute pomodoros."
  (format "%dp" (ceiling (/ m 25))))
(fset 'org-minutes-to-clocksum-string 'my/org-minutes-to-clocksum-string)

Como alternativa, você pode usar: formatador, mas a função de formatação parece muito longa e irritante para alterar.

Espero que isto ajude!

Sacha Chua
fonte
Exatamente o que eu estava procurando :-D !!!. Muito obrigado pela sua ajuda !!.
Leo Ufimtsev