ORG-MODE-특정 날짜에 TODO 상태를 트리거합니까?


9

매일 아침 티커 파일이나 일정을 수동으로 확인하는 대신 특정 날짜에 항목 상태를 TODO로 설정하는 트리거를 어떻게 만들 수 있습니까?

답변:


5

직접적인 답변은 아니지만 마감일 및 일정에 대한 조직의 지원을 대신 사용할 수 있습니다.

TODO 항목을 작성하고 예약 된 날짜를 지정할 수 있습니다. 조직에서 작업을 수행하려는 날짜와 의제에 표시되는 날짜를 의미합니다. (조직 아젠다보기를 아직 사용하지 않는 경우 조사 할 가치가 있습니다!)

필요에 따라 마감일을 지정할 수도 있습니다. 예를 들어, 금요일에 TODO를 작성하고 실제로보고자 할 때 다음 Wed에 대해 TODO를 스케줄하십시오. 다음 주 금요일까지 마감해야합니다.


7

다음은 매일 아침 사용하여 할 일을 모두 빗나가고 기한이 지난 날짜를 오늘로 변경하고 오늘 마감일 인 경우 다음 행동에서 활성으로 변경하는 것입니다. 1 년 동안 사용해온 내 캘린더를위한 맞춤형 솔루션이므로 의심 할 여지없이 자신의 일부에 대한 맞춤형이 필요합니다. 내 기억에 따르면 버전 7과 8 org-deadline에서 변경된 사항 org-mode이 있으며 설정에서 이전 버전을 사용하고있을 수 있습니다. 현재 버전에는 추가 인수 또는 무언가가 필요할 수 있습니다. 추가 도움이 필요한 경우 알려 주시면 시간이 허락하는대로 다음 며칠 동안 작업하겠습니다.

내가 사용하는 정규 표현식에는 제목에 두 개의 별이 있으며 버퍼의 왼쪽 가장자리에있을 것입니다. 자신의 설정은 정규식을 수정해야 할 것입니다.

(defun org-carry-forward-uncompleted-tasks ()
"Carry forward uncompleted tasks."
(interactive)
  (save-excursion
    (goto-char (point-max))
    (while (re-search-backward "^\\*\\* Active" nil t)
      (unless (org-at-heading-p)
        (org-back-to-heading t))
      (let* (
          (element (org-element-at-point))
          (todo-state (org-element-property :todo-keyword element))
          (deadline (org-element-property :deadline element))
          (deadline-time-stamp
            (when deadline
              (time-to-days
                (org-time-string-to-time
                  (org-element-property :raw-value deadline)))))
          (today (time-to-days (current-time))) )
        (when
            (and
              deadline-time-stamp
              (> today deadline-time-stamp) ;; deadline is overdue
              (string= todo-state "Active") ) ;; todo-state equals "X"
          (org-deadline nil ".") )))))

(defun org-make-active-today ()
"Change task from Next Action to Active if deadline is less than or equal to today."
(interactive)
  (save-excursion
    (goto-char (point-max))
    (while (re-search-backward "^\\*\\* Next Action" nil t)
      (unless (org-at-heading-p)
        (org-back-to-heading t))
      (let* (
          (element (org-element-at-point))
          (todo-state (org-element-property :todo-keyword element))
          (deadline (org-element-property :deadline element))
          (deadline-time-stamp
            (when deadline
              (time-to-days
                (org-time-string-to-time
                  (org-element-property :raw-value deadline) ))))
          (today (time-to-days (current-time))) )
        (when
            (and
              deadline-time-stamp
              (>= today deadline-time-stamp) ;; deadline less than or equal to today
              (string= todo-state "Next Action")) ;; todo-state equals "X"
          (org-deadline nil ".")
          (org-todo "Active") )))))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.