Saya menggunakan kebiasaan-org, dan grafik kebiasaan muncul dengan baik pada tampilan agenda normal. Namun, saya ingin menggunakan daftar todo dengan pemfilteran tag, dan di sana kebiasaan terlihat seperti item todo normal, tanpa grafik kebiasaan.
Bagaimana saya bisa membuat grafik kebiasaan muncul ketika menggunakan tampilan agenda daftar agenda?
org-mode
org-agenda
org-habit
legoscia
sumber
sumber
Jawaban:
Ini sepertinya melakukan trik:
Untuk menjelaskan lebih lanjut, tampak bahwa setiap fungsi agenda memanggil
org-agenda-finalize
setelah buffer agenda sebagian besar dibangun, dan ini adalah fungsi yang menambahkan grafik kebiasaan. Selain itu, itu hanya menambahkan grafik ke setiap item yang memilikiorg-habit-p
properti teks (yang mengkodekan detail yang akan ditampilkan grafik). Jadi yang perlu kita lakukan adalah memeriksa dan menandai kebiasaan dengan informasi ini di beberapa titik sebelum itu.Juga, saya memilih untuk membuat perilaku ini bergantung pada variabel karena ini harus memungkinkan Anda untuk mengatur variabel dalam perintah agenda kustom, jika Anda ingin hanya beberapa agenda untuk menampilkan kebiasaan. Saya belum mengujinya, tetapi tidak ada alasan mengapa itu tidak berhasil.
EDIT: Solusi asli saya punya masalah dengan agenda blok. Ternyata itu
org-agenda-finalize
dipanggil satu kali untuk setiap blok, dan kemudian satu kali untuk agenda secara keseluruhan. Ketika panggilan terakhir itu terjadi, agendanya hanya-baca, sehingga kesalahan terjadi jika agendanya mengandung kebiasaan. Karena semua pekerjaan telah dilakukan pada saat itu, tidak masuk akal untuk memindai agenda lagi, dan saya hanya menambahkan cek untuk properti 'org-series, yang ditambahkan ke seluruh agenda setelah panggilan per-blok dan sebelum panggilan read-only akhir.sumber
Anda dapat menggunakan
org-agenda-prefix-format
dengan panggilan keorg-habit-build-graph
dan fungsi terkait.sumber