Blog personal donde guardo mis notas sobre tecnología

Org-Mode: Calfw o como ver tu agenda en el calendario

Carlos M.

Calfw en un framework que nos va a permitir ver de una forma gráfica, parecida a gogole-calendar, una vista de nuestra agenda/calendario en org-mode

Complementos #

Calfw puede interactuar con los siguientes calendarios:

Instalación #

En el fichero de configuración .emacs.d

( requiere ' calfw )

o si utilizas use-package

(use-package calfw
:ensure t)

Si además vamos a utilizar el calendario de org-mode

(use-package calfw-org
:ensure t)

Configuración para org-mode #

Personalizarlo #

En mi fichero de configuración de emacs

(use-package calfw
  :ensure t
  :bind ([f8] . mi-calendario)
  :custom
  (cfw:org-overwrite-default-keybinding t)) ;; atajos de teclado de la agenda org-mode
;(setq cfw:display-calendar-holidays nil) ;; esconder fiestas calendario emacs

(use-package calfw-org
  :ensure t)

;; calendarios a mostrar
(defun mi-calendario ()
  (interactive)
       (cfw:open-calendar-buffer
	:contents-sources
	(list
	 (cfw:org-create-source))))

He definido la tecla F8 para que ejecute la función mi-calendario, la cual se encarga de mostrar el buffer del calendario org-mode (org-create-source)

Como voy a utilizar el diario de org-mode y no el de emacs instalo el paquete calfw-org

También utilizo los mismos atajos de teclado que la agenda de org-mode (cfw:org-overwrite-default-keybinding t)

Otros ajustes #

  • (setq cfw:display-calendar-holidays nil) Para esconder fiestas del calendario holidays.el de Emac
  • (cfw:org-create-source "Green"): Color verde para el calendario org-mode
  • calendar-week-start-day: Si le damos el valor 1, la semana empieza el lunes.
    ;; First day of the week
    (setq calendar-week-start-day 1) ; 0:Domingo, 1:Lunes
    
  • calendar-month-name-array Si queremos traducir los meses al español
    ;; Mes
    (setq calendar-month-name-array
          ["Enero" "Febrero" "Marzo"     "Abril"   "Mayo"      "Junio"
          "Julio"    "Agosto"   "Septiembre" "Octubre" "Noviembre" "Diciembre"])
    
  • calendar-day-name-array: Traducir los días al español
    ;; Dias de la semana
    (setq calendar-day-name-array
          ["Domingo" "Lunes" "Martes" "Miércoles" "Jueves" "Viernes" "Sábado"])
    

Uso #

Abriéremos el buffer del calendario con M-x cfw:open-org-calendar

Pulsando la tecla SPC sobre un evento del calendario, abre un buffer con su descripción completa, volviendo a pulsar SPC lo cierra

Los calendarios los mantengo sincronizados mediante org-caldav, pulsando la tecla F3, en este articulo explico como hacerlo.

Puedes ver mas opciones sobre su funcionamiento en su sitio, Calfw

Espero que te haya gustado, pasa un buen día. 🐧