Org-Mode: Vista de agenda personalizada
2019-03-19
Índice
Podemos personalizar la vista de la agenda para que se vea adapte a nuestro flujo de trabajo, yo la he personalizado para que muestre solamente dos días de la agenda, hoy y mañana, además he clasificado la vista por tareas, las que están iniciadas, siguientes, por hacer, canceladas, etc.
He configurado dos vistas, una para el trabajo y otra para mis asuntos personales, además que configurado la tecla F7
para ir de una manera rápida a estas agendas, F7 + p
me lleva a la agenda personal, y F7 + o
a la del trabajo.
Además los meses y días de la semana se mostraran en español y la agenda se mostrara en la ventana actual.
Configuración
Debemos de añadir en nuestro fichero de configuración de emacs, utilizo use-package,
(use-package org-agenda
:ensure nil
:after org
:bind ([f7] . org-agenda)
:custom
(org-agenda-dim-blocked-tasks t)
(org-agenda-files '("~/.personal/agenda"))
(org-agenda-include-diary nil)
(org-agenda-diary-file "~/.personal/agenda/diario.org")
(org-agenda-inhibit-startup t)
(org-agenda-show-log t)
(org-agenda-skip-deadline-if-done t)
(org-agenda-skip-deadline-prewarning-if-scheduled 'pre-scheduled)
(org-agenda-skip-scheduled-if-done t)
(org-agenda-span 2)
(org-agenda-start-on-weekday 1)
(org-agenda-sticky nil)
(org-agenda-window-setup 'current-window) ;Sobrescribe la ventana actual con la agenda
(org-agenda-tags-column -100)
(org-agenda-time-grid '((daily today require-timed)))
(org-agenda-use-tag-inheritance t)
(org-directory "~/.personal")
(org-archive-location "~/.personal/archivo/%s_archivo.org::datetree/")
(org-enforce-todo-dependencies t)
(org-habit-show-habits-only-for-today nil)
(org-track-ordered-property-with-tag t)
(org-icalendar-timezone "Europe/Madrid")
(calendar-day-name-array ["domingo" "lunes" "martes" "miórcoles"
"jueves" "viernes" "sábado"])
(calendar-month-name-array ["enero" "febrero" "marzo" "abril" "mayo"
"junio" "julio" "agosto" "septiembre"
"octubre" "noviembre" "diciembre"])
(org-agenda-custom-commands
'(("h" "Habitos" tags-todo "STYLE=\"habit\""
((org-agenda-overriding-header "Habitos")
(org-agenda-sorting-strategy
'(todo-state-down effort-up category-keep))))
("o" "Trabajo"
((agenda "" )
(tags-todo "trabajo/INICIADA"
((org-agenda-overriding-header "Tareas Iniciadas")
(org-tags-match-list-sublevels t)))
(tags-todo "trabajo/SIGUIENTE"
((org-agenda-overriding-header "Siguientes Tareas")
(org-tags-match-list-sublevels t)))
(tags-todo "trabajo/TODO"
((org-agenda-overriding-header "Tareas por Hacer")
(org-tags-match-list-sublevels t)))
(tags "trabajo/CANCELADA"
((org-agenda-overriding-header "Tareas Canceladas")
(org-tags-match-list-sublevels t)))
(tags "trabajo/PUBLICADA"
((org-agenda-overriding-header "Tareas terminadas sin Archivar")
(org-tags-match-list-sublevels t)))
(tags "reubicar"
((org-agenda-overriding-header "Reubicar")
(org-tags-match-list-sublevels t)))
nil))
;; Reportes personales
("p" "Personal"
((agenda "" )
(tags-todo "personal/INICIADA"
((org-agenda-overriding-header "Tareas Iniciadas")
(org-tags-match-list-sublevels t)))
(tags-todo "personal/SIGUIENTE"
((org-agenda-overriding-header "Siguientes Tareas")
(org-tags-match-list-sublevels t)))
(tags-todo "personal/TODO"
((org-agenda-overriding-header "Tareas por Hacer")
(org-agenda-todo-ignore-deadlines 'future)
(org-agenda-todo-ignore-scheduled 'future)
(org-agenda-tags-todo-honor-ignore-options t)
(org-tags-match-list-sublevels t)))
(tags "personal/CANCELADA"
((org-agenda-overriding-header "Tareas Canceladas")
(org-tags-match-list-sublevels t)))
(tags "personal/PUBLICADA"
((org-agenda-overriding-header "Tareas terminadas sin Archivar")
(org-tags-match-list-sublevels t)))
(tags "reubicar"
((org-agenda-overriding-header "Reubicar")
(org-tags-match-list-sublevels t)))
nil))
)))
Explicación
-
:bind ([f7] . org-agenda)
ConfiguraF7
para llamar a la agenda -
(org-agenda-files '("~/.personal/agenda"))
donde están situados los ficheros que va a utilizar a la agenda -
(org-agenda-include-diary nil)
y(org-agenda-diary-file "~/.personal/agenda/diario.org")
no voy utilizar el diario de emacs e indico cual va a ser el diario a utilizar por org. -
(org-agenda-span 2)
solo muestra dos días. -
(org-agenda-start-on-weekday 1)
el primer día es el lunes -
(org-agenda-window-setup 'current-window)
sobrescribe la ventana actual con la agenda
tags
Busca entre los ficheros de la agenda (org-agenda-files
) aquellas tareas que tengan una etiqueta dada
tags-todo
Al igual que la anterior pero además la tarea debe de tener el estado que se indica
Habrás notado que hay mas opciones, como por ejemplo la ubicación del archivo de tareas finalizadas, pero estas la veremos en próximos artículos
Espero que te haya gustado, pasa un buen día. 🐧