Risposte:
Non è una risposta diretta ma è possibile utilizzare il supporto di Org per le scadenze e la pianificazione.
Puoi creare i tuoi articoli TODO e assegnare loro una data programmata, che in Org indica la data in cui intendi svolgere l'attività - e quando dovrebbe iniziare a comparire nella tua agenda. (Se non stai già utilizzando le visualizzazioni dell'agenda dell'organizzazione valgono qualche indagine!)
A seconda delle tue esigenze puoi anche assegnare una scadenza. Ad esempio: crea un TODO il venerdì, pianificalo per il mercoledì seguente quando lo vuoi vedere; e dargli una scadenza per il venerdì successivo entro il quale dovrà essere completato.
Ecco qualcosa che uso ogni mattina per esaminare tutte le mie azioni e cambiare la data oggi se è scaduta, e cambiarla dall'azione successiva ad attiva se è prevista oggi. È una soluzione personalizzata per il mio calendario che uso da un anno, quindi avrà sicuramente bisogno di personalizzazioni da parte tua. Il mio ricordo è che c'è stato un cambiamento org-deadline
dalla org-mode
versione 7 e 8 e potrei usare una versione precedente nella mia configurazione. La versione corrente potrebbe aver bisogno di un argomento aggiuntivo o qualcosa del genere - se hai bisogno di ulteriore aiuto, fammelo sapere e ci lavorerò nei prossimi giorni, quando il tempo lo permetterà.
La regex che uso contempla le intestazioni ha due stelle e si troverà alla sinistra del buffer. La tua configurazione richiederà probabilmente una modifica del 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") )))))