Gunakan rumus dalam laporan jam agenda untuk mengonversi waktu? (hitungan pomodoro dalam Agenda)

9

Saya mencoba membuat Agenda Clockreport menunjukkan berapa banyak pomodoros yang telah saya investasikan dalam suatu tugas. Pomodoro berjarak 25 menit. Misalnya, jam 1:15 jam kerja adalah 3 pomodoros.

Saya mencoba menyesuaikan org-agenda-clockreport-paramater-plist, dan saya ingin mengekstrak "Waktu" dan mengubahnya menjadi pomodoro. Yaitu, (waktu dalam menit / 25) = pomodoro.

Saya sedang mempertimbangkan menggunakan :formuladari The Clock Table tapi saya tidak yakin harus mulai dari mana atau di mana untuk mencari contoh.

Apakah ini mungkin secara teknis?

[edit Solusi]
Berkat pos Sacha, saya menggunakan konfigurasi sebagai berikut:

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

Ini membuat laporan yang melewatkan file agenda-org kosong, memiliki kedalaman 2 level dan menambahkan kolom yang memperlihatkan pomodoros dengan 2 desimal. ('t' = waktu dalam jam).

Misalnya tangkapan layar:

masukkan deskripsi gambar di sini

Jika Anda suka, harap ingat untuk memilih-pilih jawaban Sacha.

Leo Ufimtsev
sumber

Jawaban:

12

Ini akan membuat kolom di laporan tabel jam Anda yang menjumlahkan jam dari kolom 3 dan 4, dan kemudian kolom lain yang menunjukkan jumlah putaran pomodoros yang diambil.

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

Jika Anda tidak ingin di antara kolom, berikut ini adalah pendekatan yang benar-benar meretas:

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

Atau, Anda dapat menggunakan: formatter, tetapi fungsi pemformatan terlihat sangat panjang dan mengganggu untuk diubah.

Semoga ini membantu!

Sacha Chua
sumber
Persis apa yang saya cari :-D !!!. Terima kasih banyak atas bantuannya !!
Leo Ufimtsev