¿Usar fórmula en la agenda del reloj para convertir el tiempo? (Pomodoro cuenta en Agenda)

9

Estoy tratando de hacer que la Agenda Clockreport muestre cuántos pomodoros he invertido en una tarea. A Pomodoro es de 25 minutos. Por ejemplo, 1:15 horas de trabajo son 3 pomodoros.

Estoy tratando de personalizar org-agenda-clockreport-paramater-plist, y me gustaría extraer "Tiempo" y convertirlo en un pomodoro. Es decir, (tiempo en minutos / 25) = pomodoro.

Estaba considerando usarlo :formuladesde The Clock Table, pero no estoy seguro de dónde comenzar o dónde buscar ejemplos.

¿Es esto técnicamente posible de alguna manera?

[Editar Solución]
Gracias a la publicación de Sacha, uso la configuración de la siguiente manera:

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

Esto crea un informe que omite archivos de agenda orgánica vacíos, tiene una profundidad de 2 niveles y agrega una columna que muestra pomodoros con 2 decimales. ('t' = tiempo en horas).

Por ejemplo, captura de pantalla:

ingrese la descripción de la imagen aquí

Si lo desea, recuerde votar la respuesta de Sacha.

Leo Ufimtsev
fuente

Respuestas:

12

Esto creará una columna en su informe de tabla de reloj que suma las horas de las columnas 3 y 4, y luego otra columna que le muestra el número redondo de pomodoros que ocuparon.

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

Si no desea columnas intermedias, aquí hay un enfoque totalmente hack:

(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)

Alternativamente, puede usar: formateador, pero la función de formateo parece muy larga y molesta de cambiar.

¡Espero que esto ayude!

Sacha Chua
fuente
Exactamente lo que estaba buscando :-D !!!. ¡¡Muchas gracias por tu ayuda!!.
Leo Ufimtsev