43 Pomodoro
Utilizar la técnica de time boxing va bien para acotar tiempo para concentrarse y para medir lo que nos puede costar algo.
Emacs incorpora una plugin llamado pomidor
que nos puede ayudar.
Para instalarlo necesitamos primero escribir este código en el archivo .emacs
para que arranque la referencia al repositorio y pueda encontrarlo:
;;; #14 Añadir repositorio
(require 'package) ;; You might already have this line
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(when (< emacs-major-version 24)
;; For important compatibility libraries like cl-lib
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
(package-initialize) ;; You might already have this line
;;; #15 Carga los paquestes del repositorio
(add-to-list 'package-archives
'("melpa-stable" . "https://stable.melpa.org/packages/") t)
Se trata del repositorio MELPA (Milkypostman’s Emacs Lisp Package Archive).
Instalar
M-x pomidor
Instrucciones
Podemos ver las instrucciones en el repositorio del autor https://github.com/TatriX/pomidor.
Ponlo en marcha
M-x pomidor
Imagen
Keybindings
Key | Descrición |
---|---|
Enter | Iniciar nuevo pomodoro |
Space | Iniciar un break |
R | Resetear el timer |
q | Salir del buffer pomidor |
Q | Apagar pomidor |
Adaptación - Customization
Puedes adaptarlo con M-x customize-group RET pomidor
o editando .emacs
.
Para cambiar timer:
(setq pomidor-seconds (* 25 60)) ; 25 minutos
(setq pomidor-break-seconds (* 5 60)) ; 5 minutos
Para desactivar los sonidos:
(setq pomidor-sound-tick nil
pomidor-sound-tack nil
pomidor-sound-overwork (expand-file-name (concat pomidor-dir "overwork.wav"))
pomidor-sound-break-over (expand-file-name (concat (getenv "HOME") "/Music/overwork.wav")))
Para cambiar la apareincia tu puedes adaptar o configurar el tema directamente:
;; for a full list of available faces see `customize' or search for `defface' in the source code
(progn
(set-face-attribute 'pomidor-break-face nil :foreground "#00ff00")
(set-face-attribute 'pomidor-overwork-face nil :foreground "#00abff")
(set-face-attribute 'pomidor-skip-face nil :foreground "#abbac3")
(set-face-attribute 'pomidor-work-face nil :foreground "#ff0000"))
Sonidos
Si tu Emacs no puede reproducir sonidos tu puedes proveerlo con una función para ello:
(setq pomidor-play-sound-file
(lambda (file)
(start-process "my-pomidor-play-sound"
nil
"mplayer"
file)))
Notificación
Por defecto pomidor
mostrará una notificación una vez por minuto.
Mira alert documentación para aprender cómo configurarlo.
Tu puedes cambiar la notificación globalmente:
(setq alert-default-style 'libnotify)
;; or 'growl (see alert docs)
Puedes cambiar la notificación configurando la variable pomidor-alert
(defaults to pomidor-default-alert
):
(setq pomidor-alert (lambda () (alert "OMG!11")))
Puedes configurar pomidor-update-hook
para hacer que trabaje cada vez que se actualice.
(defun my-pomidor-update-hook ()
(alert "Zzz"))
(add-hook 'pomidor-update-hook #'my-pomidor-update-hook)
Puedes ajustar el intervalo de actualización configurando la variable pomidor-update-interval
(setq pomidor-update-interval 30) ; seconds