Bạn có thể tùy chỉnh bỏ qua các mục cụ thể org-agenda
bằng cách sử dụng chức năng bỏ qua . Đây là một hàm (hoặc dạng lisp) sẽ được đánh giá ở mỗi tiêu đề và sẽ trả về nil
(để không bỏ qua tiêu đề) hoặc điểm của tiêu đề tiếp theo để xem xét (thường là tiêu đề tiếp theo, nhưng có thể là, ví dụ như anh chị tiếp theo để tăng tốc tìm kiếm).
Trong trường hợp này, chúng ta chỉ cần một hàm để bỏ qua tiêu đề nếu nó có một thẻ nhất định (lấy những cái có org-get-tags-at
) và (current-time)
sau một giờ nhất định:
(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)))
Điều này không xem xét các ngày trong tuần, nhưng logic đó
Bạn có thể (setq (setq org-agenda-skip-function-global '(skip-tag-after "WORK" 17))
bỏ qua các tiêu đề như vậy trên toàn cầu trong mọi chương trình nghị sự hoặc đặt nó được đặt org-agenda-skip-function
cục bộ bên trong org-agenda-custom-command
để ảnh hưởng đến chương trình nghị sự đó.
org-agenda-skip-function
. Ngoài ra, xin vui lòng ghi rõ mà trong ba (3) chức năng chính bạn đang dựa vào -org-agenda-list
,org-search-view
, hoặcorg-tags-view
.