Anda dapat menyesuaikan melewatkan entri tertentu org-agenda
dengan menggunakan fungsi lewati . Ini adalah fungsi (atau bentuk lisp) yang akan dievaluasi pada setiap judul dan harus mengembalikan nil
(untuk tidak melewatkan judul) atau titik judul berikutnya untuk dipertimbangkan (yang biasanya merupakan judul berikutnya, tetapi bisa juga, misalnya saudara berikutnya untuk mempercepat pencarian).
Dalam hal ini, kita hanya perlu fungsi untuk melewati informasi utama jika memiliki tag tertentu (dapatkan dengan org-get-tags-at
) dan (current-time)
setelah jam tertentu:
(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)))
Ini tidak mempertimbangkan hari kerja, tetapi itu adalah logika
Anda dapat (setq (setq org-agenda-skip-function-global '(skip-tag-after "WORK" 17))
melewati tajuk utama secara global di setiap agenda, atau mengaturnya diatur org-agenda-skip-function
secara lokal di dalam org-agenda-custom-command
untuk memengaruhi hanya agenda itu.
org-agenda-skip-function
. Juga, harap sebutkan yang mana dari tiga (3) fungsi utama Anda mengandalkan -org-agenda-list
,org-search-view
, atauorg-tags-view
.