Function: org-agenda-mode

org-agenda-mode is an interactive and byte-compiled function defined in org-agenda.el.gz.

Signature

(org-agenda-mode)

Documentation

Mode for time-sorted view on action items in Org files.

The following commands are available:

! org-agenda-toggle-deadlines
# org-agenda-dim-blocked-tasks(var)/org-agenda-dim-blocked-tasks(fun)
$ org-agenda-archive
% org-agenda-bulk-mark-regexp
* org-agenda-bulk-mark-all
+ org-agenda-priority-up
, org-agenda-priority
- org-agenda-priority-down
. org-agenda-goto-today
/ org-agenda-filter(var)/org-agenda-filter(fun)
0 digit-argument
1 digit-argument
2 digit-argument
3 digit-argument
4 digit-argument
5 digit-argument
6 digit-argument
7 digit-argument
8 digit-argument
9 digit-argument
: org-agenda-set-tags
; org-timer-set-timer
< org-agenda-filter-by-category
<backspace> org-agenda-show-scroll-down
<down> org-agenda-next-line
<mouse-2> org-agenda-goto-mouse
<mouse-3> org-agenda-show-mouse
<tab> org-agenda-goto
<undo> org-agenda-undo
<up> org-agenda-previous-line
= org-agenda-filter-by-regexp
> org-agenda-date-prompt
? org-agenda-show-the-flagging-note
A org-agenda-append-agenda
B org-agenda-bulk-action
C org-agenda-convert-date
C-/ org-agenda-undo
C-S-<left> org-agenda-todo-previousset
C-S-<right> org-agenda-todo-nextset
C-_ org-agenda-undo
C-c $ org-agenda-archive
C-c , org-agenda-priority
C-c C-a org-attach
C-c C-c org-agenda-ctrl-c-ctrl-c
C-c C-d org-agenda-deadline
C-c C-n org-agenda-next-date-line
C-c C-o org-agenda-open-link
C-c C-p org-agenda-previous-date-line
C-c C-q org-agenda-set-tags
C-c C-s org-agenda-schedule
C-c C-t org-agenda-todo
C-c C-w org-agenda-refile
C-c C-x ! org-reload
C-c C-x < org-agenda-set-restriction-lock-from-agenda
C-c C-x <down> org-agenda-priority-down
C-c C-x <left> org-agenda-do-date-earlier
C-c C-x <right> org-agenda-do-date-later
C-c C-x <up> org-agenda-priority-up
C-c C-x > org-agenda-remove-restriction-lock
C-c C-x A org-agenda-archive-to-archive-sibling
C-c C-x C-a org-agenda-archive-default
C-c C-x C-c org-agenda-columns
C-c C-x C-e org-clock-modify-effort-estimate
C-c C-x C-j org-clock-goto
C-c C-x C-o org-agenda-clock-out
C-c C-x C-s org-agenda-archive
C-c C-x C-x org-agenda-clock-cancel
C-c C-x I org-info-find-node
C-c C-x RET g org-mobile-pull
C-c C-x RET p org-mobile-push
C-c C-x TAB org-agenda-clock-in
C-c C-x _ org-timer-stop
C-c C-x a org-agenda-toggle-archive-tag
C-c C-x b org-agenda-tree-to-indirect-buffer
C-c C-x e org-agenda-set-effort
C-c C-x p org-agenda-set-property
C-c C-z org-agenda-add-note
C-e org-agenda-end-of-line
C-k org-agenda-kill
C-n org-agenda-next-line
C-p org-agenda-previous-line
C-x C-s org-save-all-org-buffers
C-x C-w org-agenda-write
C-x u org-agenda-undo
D org-agenda-toggle-diary
DEL org-agenda-show-scroll-down
E org-agenda-entry-text-mode(var)/org-agenda-entry-text-mode(fun)
F org-agenda-follow-mode(var)/org-agenda-follow-mode(fun)
G org-agenda-toggle-time-grid
H org-agenda-holidays
I org-agenda-clock-in
J org-agenda-clock-goto
K org-habit-toggle-display-in-agenda
L org-agenda-recenter
M org-agenda-phases-of-moon
M-* org-agenda-bulk-toggle-all
M-<down> org-agenda-drag-line-forward
M-<up> org-agenda-drag-line-backward
M-m org-agenda-bulk-toggle
M-{ org-agenda-backward-block
M-} org-agenda-forward-block
N org-agenda-next-item
O org-agenda-clock-out
P org-agenda-previous-item
Q org-agenda-Quit
R org-agenda-clockreport-mode(var)/org-agenda-clockreport-mode(fun)
RET org-agenda-switch-to
S org-agenda-sunrise-sunset
S-<down> org-agenda-priority-down
S-<left> org-agenda-do-date-earlier
S-<right> org-agenda-do-date-later
S-<up> org-agenda-priority-up
SPC org-agenda-show-and-scroll-up
T org-agenda-show-tags
TAB org-agenda-goto
U org-agenda-bulk-unmark-all
X org-agenda-clock-cancel
[ org-agenda-manipulate-query-add
\ org-agenda-filter-by-tag
] org-agenda-manipulate-query-subtract
^ org-agenda-filter-by-top-headline
_ org-agenda-filter-by-effort
a org-agenda-archive-default-with-confirmation
b org-agenda-earlier
c org-agenda-goto-calendar
d org-agenda-day-view
e org-agenda-set-effort
f org-agenda-later
g org-agenda-redo-all
h org-agenda-holidays
i org-agenda-diary-entry
j org-agenda-goto-date
k org-agenda-capture
l org-agenda-log-mode
m org-agenda-bulk-mark
n org-agenda-next-line
o delete-other-windows
p org-agenda-previous-line
q org-agenda-quit
r org-agenda-redo
s org-save-all-org-buffers
t org-agenda-todo
u org-agenda-bulk-unmark
v org-agenda-view-mode-dispatch
w org-agenda-week-view
x org-agenda-exit
y org-agenda-year-view
z org-agenda-add-note
{ org-agenda-manipulate-query-add-re
| org-agenda-filter-remove-all
} org-agenda-manipulate-query-subtract-re
~ org-agenda-limit-interactively

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-agenda.el.gz
(defun org-agenda-mode ()
  "Mode for time-sorted view on action items in Org files.

The following commands are available:

\\{org-agenda-mode-map}"
  (interactive)
  (ignore-errors (require 'face-remap))
  (let ((agenda-local-vars-to-keep
	 '(text-scale-mode-amount
	   text-scale-mode
	   text-scale-mode-lighter
	   face-remapping-alist))
	(save (buffer-local-variables)))
    (kill-all-local-variables)
    (cl-flet ((reset-saved (var-set)
		"Reset variables in VAR-SET to possibly stored value in SAVE."
		(dolist (elem save)
		  (pcase elem
		    (`(,var . ,val)		;ignore unbound variables
		     (when (and val (memq var var-set))
		       (set var val)))))))
      (cond (org-agenda-doing-sticky-redo
	      ;; Refreshing sticky agenda-buffer
	      ;;
	      ;; Preserve the value of `org-agenda-local-vars' variables.
	      (mapc #'make-local-variable org-agenda-local-vars)
	      (reset-saved org-agenda-local-vars)
	      (setq-local org-agenda-this-buffer-is-sticky t))
	    (org-agenda-sticky
	      ;; Creating a sticky Agenda buffer for the first time
	      (mapc #'make-local-variable org-agenda-local-vars)
	      (setq-local org-agenda-this-buffer-is-sticky t))
	    (t
	      ;; Creating a non-sticky agenda buffer
	      (setq-local org-agenda-this-buffer-is-sticky nil)))
      (mapc #'make-local-variable agenda-local-vars-to-keep)
      (reset-saved agenda-local-vars-to-keep)))
  (setq org-agenda-undo-list nil
	org-agenda-pending-undo-list nil
	org-agenda-bulk-marked-entries nil)
  (setq major-mode 'org-agenda-mode)
  ;; Keep global-font-lock-mode from turning on font-lock-mode
  (setq-local font-lock-global-modes (list 'not major-mode))
  (setq mode-name "Org-Agenda")
  (setq indent-tabs-mode nil)
  (use-local-map org-agenda-mode-map)
  (when org-startup-truncated (setq truncate-lines t))
  (setq-local line-move-visual nil)
  (add-hook 'post-command-hook #'org-agenda-update-agenda-type nil 'local)
  (add-hook 'pre-command-hook #'org-unhighlight nil 'local)
  ;; Make sure properties are removed when copying text
  (if (boundp 'filter-buffer-substring-functions)
      (add-hook 'filter-buffer-substring-functions
		(lambda (fun start end delete)
                  (substring-no-properties (funcall fun start end delete)))
		nil t)
    ;; Emacs >= 24.4.
    (add-function :filter-return (local 'filter-buffer-substring-function)
                  #'substring-no-properties))
  (unless org-agenda-keep-modes
    (setq org-agenda-follow-mode org-agenda-start-with-follow-mode
	  org-agenda-entry-text-mode org-agenda-start-with-entry-text-mode
	  org-agenda-show-log org-agenda-start-with-log-mode
	  org-agenda-clockreport-mode org-agenda-start-with-clockreport-mode))
  (add-to-invisibility-spec '(org-filtered))
  (org-fold-core-initialize `(,org-link--description-folding-spec
                              ,org-link--link-folding-spec))
  (easy-menu-change
   '("Agenda") "Agenda Files"
   (append
    (list
     (vector
      (if (get 'org-agenda-files 'org-restrict)
	  "Restricted to single file"
	"Edit File List")
      '(org-edit-agenda-file-list)
      (not (get 'org-agenda-files 'org-restrict)))
     "--")
    (mapcar #'org-file-menu-entry (org-agenda-files))))
  (org-agenda-set-mode-name)
  (run-mode-hooks 'org-agenda-mode-hook))