Sobrealimenta tu agenda con org-super-agenda
2022-04-04
Índice
Ya os he hablado anteriormente de como personalizar la vista de la agenda de emacs, en concreto en esta entrada . En ese artículo utilizaba tags-todo
para conseguir unas vistas para la agenda conforme a mis gustos.
Hace tiempo que conocía de org-super-agenda para filtrar las vistas de agenda, pero por falta de tiempo no me había puesto a jugar con este paquete.
Este paquete te permite “sobrealimentar” la agenda diaria o semanal. La idea es agrupar elementos en secciones, en lugar de tenerlos todos en una gran lista.
Instalación
Utilizo use-package
para ello y habilito el modo org-super-agenda
(use-package org-super-agenda
:ensure t
:config
(org-super-agenda-mode))
Configuración
General
- No muestro una tarea programada o con fecha limite si ya está hecha,
org-agenda-skip-scheduled-if-done t
yorg-agenda-skip-deadline-if-done t
- Las opciones establecidas aquí se aplican a todo el bloque,
org-agenda-compact-blocks t
- Por defecto la vista agenta divide la ventana en dos, lo podemos evitar con
org-agenda-window-setup 'current-window
- Sólo recibo un aviso si a la tarea limite le quedan 7 días o menos para cumplirse,
org-deadline-warning-days 7
- La “parrilla” solo mostrara el día de hoy con sus horas,
org-agenda-time-grid '((daily today require-timed))
- Configuro dos vistas para cuando llamo a
org-agenda
, una para el trabajo asignada a la tecla “x” y otra para la persona “z”
Vista trabajo
Filtro los eventos o tareas para Hoy y los próximos tres días, descartando los que tienen la etiqueta personal, muestro la hora y las tareas programadas o con fecha limite pasadas y no completadas de hoy y les doy un peso u orden de 1, son las que primero se mostraran.
Creo otro grupo llamado Vencimiento hoy, para mostrar aquellas tareas con fecha de vencimiento para hoy, otro grupo para las tareas cuya fecha limite vencen próximamente llamado Próximamente, el grupo Atrasado mostrará las tareas programadas o con fecha limite pasadas y no completadas, otro grupo para las tareas que estan Por hacer y finalmente un ultimo grupo para aquellas tareas que están en estado bloquedo o de espera llamado Esperando.
Tambión utilizo el comando (tags "trabajo/HECHO" ((org-agenda-overriding-header " Tareas Hechas")))))
par mostrar las tareas que ya tengo hechas para así poder archivarlas (refile).
Vista personal
Aquí estaría todo lo relativo a mi agenda personal, su configuración es muy similar a lo visto anteriormente, salvo que en la parrilla inicial muestro tambión los aniversarios o cumpleaños de mis contactos.
Código
Finalmente todo el código queda así
(setq org-agenda-skip-scheduled-if-done t
org-agenda-skip-deadline-if-done t
org-agenda-compact-blocks t
org-agenda-window-setup 'current-window
org-agenda-start-on-weekday 1
org-deadline-warning-days 7
org-agenda-time-grid '((daily today require-timed))
org-agenda-custom-commands
'(
("x" "Vista trabajo"
((agenda "" ((org-agenda-span 3)
(org-super-agenda-groups
'((:name "Hoy"
:discard (:tag "personal")
:time-grid t
:scheduled past
:deadline past
:date today
:order 1)))))
(alltodo "" ((org-agenda-overriding-header "")
(org-super-agenda-groups
'((:discard (:tag "personal" ))
(:name "Vencimiento hoy"
:deadline today
:order 5)
(:name "Próximamente"
:deadline future
:order 11)
(:name "Atrasado"
:scheduled past
:deadline past
:order 12)
(:name "Por hacer"
:todo "PORHACER"
:order 12)
(:name "Esperando"
:todo "BLOQUEADO"
:order 14)))))
(tags "trabajo/HECHO"
((org-agenda-overriding-header " Tareas Hechas")))))
("z" "Vista personal"
((agenda "" ((org-agenda-span 3)
(org-super-agenda-groups
'((:name "Hoy"
:discard (:tag "trabajo" :scheduled past :deadline past)
:time-grid t
:date today
:scheduled today
:order 1)
(:name "Aniversarios"
:tag "agenda"
:todo "Aniversarios")))))
(alltodo "" ((org-agenda-overriding-header "")
(org-super-agenda-groups
'((:discard (:tag "trabajo" ))
(:name "Vencimiento hoy"
:deadline today
:order 5)
(:name "Atrasado"
:scheduled past
:deadline past
:order 11)
(:name "Por hacer"
:todo "PORHACER"
:order 12)
(:name "Esperando"
:todo "BLOQUEADO"
:order 14)))))
(tags "personal/HECHO"
((org-agenda-overriding-header " Tareas Hechas")))))
))
Resultado
Así era la vista que tenia antes
Y así luce ahora, vista trabajo
Vista personal
Son dos vistas sencillas pero son lo que yo necesito, pero puedes ver más opciones y posibilidades en su repositorio org-super-agenda
Espero que te haya gustado, pasa un gran día. 🐧