Отображение текущего запланированного времени «Готово» в представлении повестки дня - PullRequest
10 голосов
/ 21 мая 2019

Я запланировал рутину, чтобы проснуться утром в 5:00 и сделать это в 5:12 этим утром

enter image description here

Если он отображается, то фактически выполненный момент процедуры может быть более полезным.

Однако это не так.

enter image description here

Обновление:

Еще хуже, что запланированные задания исчезли после перестройки повестки дня, а не представлены как запланированный момент в состоянии ВЫПОЛНЕНО.

Как можно настроить представление повестки дня для отображения реального времени окончания?

1 Ответ

1 голос
/ 11 июня 2019

Отметка времени для состояния DONE не отображается в вашем org-agenda, поскольку она является неактивной отметкой времени.В этом разница между обычными и неактивными временными метками: обычные временные метки запускают запись, которая появляется в повестке дня, а неактивные - нет.Это приводит нас к нашему первому потенциальному решению (которое вы уже попробовали): вручную поменять эти неактивные метки времени на активные.Когда org-agenda анализирует активную метку времени, он помещает запись для связанной задачи в повестку дня в это время.Проблема здесь в том, что статус задачи TODO равен NEXT, поскольку повторное задание уже перешло к следующему выполнению.Таким образом, запись org-agenda будет иметь статус NEXT, а не DONE.(Стоит отметить, что изменение отметки времени CLOSED для неповторяющейся задачи на активную не приведет к ее появлению в повестке дня в то время.)

В качестве альтернативы, мы можем создать организацию-агенда показать нам неактивные метки времени.Есть несколько способов сделать это:

  • В представлении повестки дня нажмите либо [, либо ], что приведет к появлению неактивных отметок времени.
  • Установите для переменной org-agenda-include-inactive-timestamps значение t и перезагрузите повестку дня.

Это также не идеально.Еще раз, запись в повестке дня помечена NEXT из-за смещения статуса TODO повторного задания.Кроме того, (для меня, по крайней мере), предмет появляется дважды.Один из них взят из журнала, а другой - из свойства LAST_REPEAT.

К счастью, org-повестки дня предлагает лучшие варианты для просмотра временных отметок для завершенных задач с org-agenda-log-mode.В представлении повестки дня org-agenda-log-mode можно активировать с помощью l (буква между «k» и «m»).Этого по-прежнему недостаточно для отображения временных меток завершения задачи.По умолчанию org-agenda-log-mode показывает только те задачи, которые были закрыты или были синхронизированы. Как указано выше, эта задача не была закрыта, поскольку она перешла к следующему повторению.Однако org-повестки дня также может отображать метки времени для задач, которые изменили статус.Поскольку зарегистрированное задание изменилось с NEXT на DONE, его метка времени будет отображаться в этом представлении.Мы можем активировать это представление несколькими различными способами:

  • Вызов org-agenda-log-mode с универсальным аргументом (C-u l).
  • Добавление state к org-agenda-log-mode-items например (setq org-agenda-log-mode-items '(closed clock state)).
  • Настройка org-agenda-start-with-log-mode Например (setq org-agenda-start-with-log-mode '(closed clock state)).Эта опция заставит повестку дня начинаться в org-agenda-log-mode и является лучшим выбором, если вы всегда хотите видеть эту информацию при открытии своей повестки дня.

Следует отметить, что пока выполненное задание будет отображатьсяздесь у него все еще будет тег NEXT.Однако это также покажет, что его состояние изменилось на DONE в это время (см. Последнее изображение ниже для примера).


Пример

Например, вот короткий файл org-mode с повторяющимся заданием («Пробуждение»), который уже был выполнен один раз.В демонстрационных целях этот файл также содержит еще одну повторяющуюся задачу, которая не была выполнена, одноразовую задачу, которая была закрыта, и другую запланированную задачу, которая не была завершена, но была синхронизирована в:

#+SEQ_TODO: NEXT(n) TODO(t) | DONE(d)
* Items
** NEXT Wake up
   SCHEDULED: <2019-06-11 Tues 05:00 +1d>
   :PROPERTIES:
   :LAST_REPEAT: [2019-06-10 Mon 13:37]
   :END:
   :LOGBOOK:
   - State "DONE"       from "NEXT"       [2019-06-10 Mon 13:37]
   :END:
** DONE One time event
   CLOSED: [2019-06-10 Mon 13:46] SCHEDULED: <2019-06-10 Mon 15:00>
** Not going to be finished
   SCHEDULED: <2019-06-11 Tue>
   :LOGBOOK:
   CLOCK: [2019-06-10 Mon 13:54]--[2019-06-10 Mon 13:54] =>  0:00
   :END:
** Go to bed
   SCHEDULED: <2019-06-10 Mon 22:00 +1d>

После вызова org-agenda мы видим, что отметка времени для нашего завершенного «Пробуждения» не отображается: The timestamp for the completed repeated task does not appear

Разрешение неактивных отметок времени позволит завершить «Пробуждение»отметка времени отображается, но отметка времени отображается дважды, и не очень ясно, к чему относятся эти пункты повестки дня: Allowing inactive timestamps allows the logged timestamp to appear, but the associated agenda item is not very clear

При вызове org-agenda-log-mode отображаются более важные записи повестки дня (идостаточно, чтобы появилась отметка времени закрытия для одноразовых заданий).Однако по умолчанию он не отображает изменения статуса, что означает, что наша отметка времени «Пробуждение» не появится:

org-agenda-log-mode allows closed items' timestamps to appear as entries

Изменение org-agenda-log-mode впокажите временные метки для измененного состояния, мы наконец увидим нашу закрытую временную метку Wake UpUsing org-agenda-log-mode and setting it to show state allows the timestamp to show up with information that shows that its TODO status was changed

...