Comment puis-je avoir plus de contrôle sur la répétition des tâches dans Org?

12

J'ai commencé à explorer org-modeces derniers temps et j'adore ça. Mais, j'aimerais savoir comment je peux avoir plus de contrôle sur la répétition des tâches, comme si j'ai défini une tâche pour qu'elle se répète tous les jours, comment puis-je la faire exclure les week-ends?

De plus, existe-t-il une option comme un mode vacances ou quelque chose de similaire qui, lorsqu'il est activé, demande la durée de mon absence et toutes mes tâches répétitives (si j'en ai qui sont programmées pendant le temps que je décolle) sont replanifiées automatiquement à le prochain jour prévu après la fin des vacances.

Chakravarthy Raghunandan
la source

Réponses:

2

Ma solution:

  1. Étiquetez les éléments "hiver", "week-end", "soirées scolaires", etc.

  2. Assurez-vous que chacune de ces balises possède une touche de raccourci associée org-tag-alist.

  3. Écrire un prédicat pour chaque balise qui vous indique si elle est pas en cours: not-winter-p(retour non nul entre Avril et Novembre dans l'hémisphère nord), weekdayp, not-schoolnight-p, etc.

  4. Mettez tout cela ensemble dans votre propre commande d'agenda:

(Ah-ha! J'ai découvert que je dois mettre du texte de liste non numérotée ici pour que le code suivant apparaisse correctement formaté)

(defun ph/agenda ()
  "Display my agenda."
  (interactive)
  (org-agenda-list)
  (cl-loop
    for (predicate . speed-key)
    in
    '((weekendp . ?\[)
      (winterp . ?\])
      (not-schoolday-p . ?\{)
      (not-schoolnight-p . ?\}))
    when (funcall predicate)
    do (org-agenda-filter-by-tag nil speed-key 'exclude)))
Phil Hudson
la source
0

Vous pouvez utiliser des dates de journal. J'ai un événement qui a lieu tous les 1er, 3ème et 5ème vendredi du mois.

* Music Jam
   <%%(diary-float t 5 1)>
   <%%(diary-float t 5 3)> 
   <%%(diary-float t 5 5)>

Il existe également d'autres fonctions d'agenda. journal flottant, journal rappel, journal cyclique, etc. Vous pouvez en savoir plus à ce sujet via

      M-x info RET org RET m Agenda  

Recherchez un journal et vous le trouverez. (Journal Cs)

Joshua
la source
Je pense que ce n'est pas possible hors de la boîte. Vous devez parcourir tous vos fichiers d'agenda, les parcourir tous les titres, et s'il y a des informations de planification, replanifier l'élément. En outre, tout replanification au même jour peut entraîner une journée surchargée, vous pouvez donc également y faire face.
GergelyPolonkai