I want to separate my daily tasks with appointments and all from the (embarrasingly) long list of badly maintained tasks -- overdue ones, soon-to-be due ones, and those that are schedule for a past date.

It was simple enough to hide the overdue stuff from today's timeline:

 (agenda "" ((org-agenda-overriding-header " ") ;; Non-empty string to get empty line (org-agenda-span 'day) (org-agenda-ndays 1) (org-agenda-sorting-strategy (quote ((agenda time-up priority-down tag-up)))) ;; Do not include scheduled, due or overdue items here (org-deadline-warning-days 0) (org-scheduled-past-days 0) (org-deadline-past-days 0) (org-agenda-skip-scheduled-if-done t) (org-agenda-skip-timestamp-if-done t) (org-agenda-skip-deadline-if-done t))) 

But I cannot get that output to appear elsewhere, e.g. farther down, out of focus. This does display all overdue etc. taks, but also everything with a timestamp for today:

 (agenda "" ((org-agenda-overriding-header "Overdue") (org-agenda-time-grid nil) (org org-agenda-remove-timeranges-from-blocks t) (org-agenda-show-all-dates nil) (org-agenda-format-date "") ;; Skip the date (org-agenda-start-on-weekday nil) (org-agenda-span 'day) (org-agenda-ndays 0) (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) ;; Show overdue items (org-scheduled-past-days 999) (org-deadline-past-days 999) ;; Ignore upcoming deadlines (org-deadline-warning-days 0))) 

How can I get the bottom part to only show overdue etc. tasks, not those that are scheduled for today?

Do I have to write a (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) replacement in elisp that filters elements by date, i.e. "not today"? (How? :))

submitted by /u/divinedominion
[link] [comments]