Ho diversi compiti nel mio file Org, uno dei quali ha elementi che iniziano con una casella di controllo (ma solo quelli). Tutti hanno un cookie statistico alla fine ([n / m]).
Sto cercando un modo per aggiornare automaticamente l'attività principale da TODO
a DONE
quando tutte le caselle di controllo sono contrassegnate come completate.
La documentazione dice:
Se desideri che una voce TODO cambi automaticamente in FATTO al termine di tutti i bambini, puoi utilizzare la seguente configurazione [...]
Un'altra possibilità è l'uso delle caselle di controllo per identificare (una gerarchia di) un gran numero di attività secondarie (vedere Caselle di controllo).
Il modo in cui capisco che l'ultima parte è che se gli elementi figlio sono caselle di controllo, lo stato genitore dovrebbe già essere automaticamente aggiornato (che non è il caso).
Cosa mi sto perdendo?
Modificare:
Dalla org-after-todo-statistics-hook
documentazione (org.el):
Hook chiamato dopo che un cookie statistico TODO è stato aggiornato. Ogni funzione viene chiamata con due argomenti: il numero di voci non completate e il numero di voci completate.
Ciò significa che il codice proposto da orgmode.org:
(defun org-summary-todo (n-done n-not-done)
"Switch entry to DONE when all subentries are done, to TODO otherwise."
(let (org-log-done org-log-states) ; turn off logging
(org-todo (if (= n-not-done 0) "DONE" "TODO"))))
(add-hook 'org-after-todo-statistics-hook 'org-summary-todo)
non conterà gli elementi della casella di controllo.
* Heading [0/1]