Orgファイルにはいくつかのタスクがあり、そのうちの1つはチェックボックスで始まる項目があります(ただし、それらのみです)。それらのすべてに、最後に統計Cookieがあります([n / m])。
私は、自動的に親タスクを更新する方法を探していますTODO
とDONE
同様に行うよう、チェックボックスのすべてがマークされると。
ドキュメントは言う:
すべての子が完了したときにTODOエントリを自動的にDONEに変更する場合は、次の設定を使用できます[...]
別の可能性は、チェックボックスを使用して多数のサブタスク(の階層)を識別することです(チェックボックスを参照)。
最後の部分で私が理解している方法は、子アイテムがチェックボックスの場合、親の状態は既に自動的に更新されているはずです(そうではありません)。
何が欠けていますか?
編集:
以下からorg-after-todo-statistics-hook
のドキュメント(org.el):
TODO統計Cookieが更新された後に呼び出されるフック。各関数は、2つの引数で呼び出されます:未完了のエントリの数と完了したエントリの数。
つまり、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)
チェックボックス項目はカウントされません。
* Heading [0/1]