Puede personalizar la omisión de entradas específicas org-agenda
mediante el uso de una función de omisión . Esta es una función (o forma de ceceo) que se evaluará en cada título y debe regresar nil
(para no omitir el título) o el punto del siguiente título a considerar (que normalmente es el próximo título, pero podría ser, por ejemplo, el siguiente hermano para acelerar la búsqueda).
En este caso, solo necesitamos una función para omitir el título si tiene una etiqueta determinada (obtener con org-get-tags-at
) y (current-time)
es después de una hora determinada:
(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)))
Esto no considera el día de la semana, pero esa lógica
Puede (setq (setq org-agenda-skip-function-global '(skip-tag-after "WORK" 17))
omitir dichos titulares a nivel mundial en cada agenda o configurarlo org-agenda-skip-function
localmente dentro de a org-agenda-custom-command
para afectar solo esa agenda.
org-agenda-skip-function
. También, por favor especificar cuál de las tres (3) funciones principales que usted está confiando en -org-agenda-list
,org-search-view
oorg-tags-view
.