Você pode personalizar pular entradas específicas org-agenda
usando uma função pular . Essa é uma função (ou forma de lisp) que será avaliada em cada título e deve retornar nil
(para não ignorar o título) ou o ponto do próximo título a ser considerado (que normalmente é o próximo título, mas pode ser, por exemplo, o próximo irmão para acelerar a pesquisa).
Nesse caso, precisamos apenas de uma função para pular o título, se ele tiver uma determinada tag (obtenha-a org-get-tags-at
) e o (current-time)
prazo for após uma certa hora:
(defun skip-tag-after (tag hour)
(let* ((next-headline (save-excursion
(or (outline-next-heading) (point-max))))
(current-headline (or (and (org-at-heading-p)
(point))
(save-excursion (org-back-to-heading))))
;; (now (decode-time (current-time)))
(target (decode-time (current-time)))
(day (nth 6 target))
)
(setcar (last target 7) hour)
(setcar (last target 8) 0)
(if (and (member tag (org-get-tags-at current-headline))
(or (eq day 0)
(eq day 6)
(time-less-p (apply #'encode-time target) (current-time))))
next-headline
nil)))
Isso não considera o dia da semana, mas essa lógica
Você pode (setq (setq org-agenda-skip-function-global '(skip-tag-after "WORK" 17))
pular essas manchetes globalmente em todas as agendas ou defini-las org-agenda-skip-function
localmente dentro de uma org-agenda-custom-command
para afetar apenas essa agenda.
org-agenda-skip-function
. Além disso, por favor, especificar qual dos três (3) principais funções você está confiando em cima -org-agenda-list
,org-search-view
ouorg-tags-view
.