(defun org-gtd-engage ()
"Display `org-agenda' customized by org-gtd."
(interactive)
(org-gtd-core-prepare-agenda-buffers)
(with-org-gtd-context
(let* ((project-format-prefix
(format " %%i %%-%d:(org-gtd-agenda--prefix-format) "
org-gtd-engage-prefix-width))
(org-agenda-custom-commands
`(("g" "Engage with GTD"
((agenda
""
((org-agenda-include-deadlines t)
(org-agenda-include-inactive-timestamps nil)
; org-agenda-todo-ignore-deadlines
; org-agenda-todo-ignore-scheduled
(org-agenda-skip-function
'(org-gtd-keep-ANY
'(org-gtd-skip-unless-calendar
org-gtd-skip-unless-habit
)))
(org-agenda-skip-deadline-if-done t)
(org-agenda-skip-scheduled-if-done t)
(org-agenda-skip-deadline-prewarning-if-scheduled nil)
(org-agenda-skip-scheduled-delay-if-deadline t)
(org-agenda-skip-scheduled-if-deadline-is-shown t)
(org-agenda-skip-timestamp-if-deadline-is-shown t)
(org-agenda-skip-timestamp-if-done t)
(org-agenda-span 1)
(org-agenda-skip-additional-timestamps-same-entry t)))
(todo org-gtd-next
((org-agenda-overriding-header "All actions ready to be executed")
(org-agenda-prefix-format
'((todo . ,project-format-prefix))))))))))
(org-agenda nil "g")
(goto-char (point-min)))))