แทนที่จะเช็คไฟล์หรือปฏิทินด้วยตนเองทุกเช้าฉันจะสร้างทริกเกอร์ที่จะกำหนดสถานะของรายการเป็น TODO ในวันที่กำหนดได้อย่างไร
แทนที่จะเช็คไฟล์หรือปฏิทินด้วยตนเองทุกเช้าฉันจะสร้างทริกเกอร์ที่จะกำหนดสถานะของรายการเป็น TODO ในวันที่กำหนดได้อย่างไร
คำตอบ:
ไม่ใช่คำตอบโดยตรง แต่คุณสามารถใช้การสนับสนุนขององค์กรเพื่อกำหนดเวลาและกำหนดเวลาแทน
คุณสามารถสร้างรายการสิ่งที่ต้องทำของคุณและกำหนดวันที่กำหนดให้พวกเขาซึ่งในองค์กรหมายถึงวันที่คุณวางแผนที่จะทำงาน - และเมื่อมันควรเริ่มแสดงในวาระการประชุมของคุณ (หากคุณยังไม่ได้ใช้มุมมองวาระการประชุมองค์กรพวกเขามีค่าในการตรวจสอบ!)
ทั้งนี้ขึ้นอยู่กับความต้องการของคุณคุณสามารถกำหนดกำหนด ตัวอย่างเช่น: สร้างสิ่งที่ต้องทำในวันศุกร์กำหนดเวลาสำหรับพุธต่อไปนี้เมื่อคุณต้องการที่จะเห็นมันจริง; และให้กำหนดส่งภายในวันศุกร์ถัดไปซึ่งจะต้องดำเนินการให้เสร็จสิ้น
นี่คือสิ่งที่ฉันใช้ทุกเช้าเพื่อค้นหาสิ่งที่ต้องทำทั้งหมดและเปลี่ยนวันที่เป็นวันนี้ถ้ามันค้างเกินกำหนดและเปลี่ยนจากการกระทำครั้งต่อไปเป็นใช้งานได้ถ้าครบกำหนดวันนี้ มันเป็นโซลูชันที่กำหนดเองสำหรับปฏิทินของฉันที่ฉันใช้มาเป็นเวลาหนึ่งปีดังนั้นจึงไม่ต้องสงสัยเลยว่าต้องมีการปรับแต่งเองในส่วนของคุณเอง ความทรงจำของฉันคือมีการเปลี่ยนแปลงorg-deadline
จากorg-mode
รุ่น 7 และ 8 และฉันอาจใช้รุ่นก่อนหน้าในการตั้งค่าของฉัน รุ่นปัจจุบันอาจต้องมีการโต้แย้งเพิ่มเติมหรือบางสิ่งบางอย่าง - หากคุณต้องการความช่วยเหลือเพิ่มเติมแจ้งให้เราทราบและฉันจะทำงานในอีกไม่กี่วันข้างหน้าตามเวลาที่อนุญาต
regex ที่ฉันใช้ contemplates ส่วนหัวมีสองดาวและจะอยู่ที่ด้านซ้ายของบัฟเฟอร์ การตั้งค่าของคุณเองอาจจะต้องมีการแก้ไข regex
(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") )))))