Есть ли способ, чтобы подзадачи наследовали сроки в org-mode?

Было бы очень удобно, если бы для определенных задач в org-mode подзадачи могли наследовать крайний срок основной задачи. Такое поведение должно происходить в случае, если я еще не указал крайний срок для подзадачи. Таким образом, все подзадачи будут отображаться в моем графическом представлении, с правильными сроками, которые легко манипулировать.

Ответ 1

Как насчет функции для добавления подзадач? Это добавляет крайний срок для подзадачи, если у ее родителя есть один:

(defun my-org-insert-sub-task ()
  (interactive)
  (let ((parent-deadline (org-get-deadline-time nil)))
    (org-goto-sibling)
    (org-insert-todo-subheading t)
    (when parent-deadline
      (org-deadline nil parent-deadline))))

Не забудьте привязать его к ключу:

(define-key org-mode-map (kbd "C-c s") 'my-org-insert-sub-task)

Также вы можете найти эти настройки полезными:

(setq org-enforce-todo-dependencies t)
(setq org-agenda-dim-blocked-tasks 'invisible)

Ответ 2

В последнее время этот вопрос задавали и отвечали на список рассылки org-mode. Я добавляю эту дискуссию здесь в надежде, что кто-то найдет ее полезной:

http://article.gmane.org/gmane.emacs.orgmode/49215

Я добавил этот код в свои .emacs в этой фиксации:

https://github.com/vedang/emacs-config/commit/1cb6c774a991d50853134d8085ca61dd12585993

Ответ 3

DEADLINE является одним из этих свойств, которые по умолчанию не наследуются. Вы можете изменить это, настроив переменную org-use-property-inheritance

Ответ 4

Другой подход - использовать org-agenda-bulk-action в org-agenda-mode.

  • Определите stuck-projects как заголовки TODO, которые еще не имеют крайнего срока и еще не запланированы: Определение незапланированных todos как застрявших проектов в Emacs Org-Mode
  • M-x org-agenda-list-stuck-projects. Это отобразит список заголовков TODO без крайнего срока.
  • m, чтобы отметить записи, к которым вы хотите добавить крайний срок.
  • B для вызова org-agenda-bulk-action.
  • d, чтобы назначить единый крайний срок для всех из них.