si estoy con auriculares, estoy en un pomodoro #
Hace años que utilizo la técnica pomodoro=
1 y no es fácil
llevarla adelante, por un lado requiere de cierta auto-disciplina y el
entorno que me rodea no siempre contribuye, pero recuerdo que en un
momento de auge había convencido a mis pares que si estaba con
auriculares y con una notificación con un tomate, significaba que debían
esperar en el peor de los casos 25 minutos para "molestarme".
soy mi peor enemigo #
Es fácil tirar culpas, pero la verdad, es probable que yo mismo haya sido quién interrumpió un pomodoro o me puse a hacer otra cosa, o ni siquiera inicié el pomodoro o lo inicié sin una definición precisa de la tarea que estaba por realizar.
Mucho peor, es ignorar las advertencias y continuar trabajando, sin realizar una pausa de 5 minutos, muchas veces sucede eso y es terrible porque no alejarse unos minutos del teclado hace mal en todo sentido, no te permite repensar un poco que estabas haciendo, porqué no funcionaba o porqué te estas frustrando con eso que no te sale, tal vez simplemente te dejaste llevar y te fuiste por las ramas.
la pausa son 5 minutos obligatorios! #
Algo que le faltaba a mi script pomodoro
2 era obligarme a pausar
5 minutos, luego de 25 minutos de trabajo intenso y enfocado, asi que
estuve dándole vueltas a esa idea hace unos días, ya que estoy
intentando ser un poco mas estricto con mis pomodoros y buscando por
la web, caí en un foro 3 donde había un ejemplo para escuchar los
eventos de xscreensaver
y en función de esos estados disparar
acciones!
xscreensaver-watch
#
Mi primer versión del script xscreensaver-watch
se ocupa de
registrar en un log cada vez que se bloquea (LOCK
) o desbloquea
(UNBLANK
) y en función de la fecha y hora, verificar si todavía no
pasaron 5 minutos, vuelve a activar xscreensaver
y por más que vuelva
a intentar desactivarlo ingresando mi contraseña, si no pasaron 5
minutos, me deja fuera de mi notebook :P
Falta pulir un poco, pero va queriendo bloquear correctamente :)
1#!/bin/bash
2
3# This script comes with ABSOLUTELY NO WARRANTY, use at own risk
4# Copyright (C) 2021 Osiris Alejandro Gomez <osiux@osiux.com>
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14# General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19# based on https://bbs.archlinux.org/viewtopic.php?pid=1182514
20
21LOG="$HOME/log/xscreensaver-watch.log"
22
23lock()
24{
25exec xscreensaver-command -lock &
26}
27
28last_lock()
29{
30local LOCK
31LOCK="$(grep LOCK "$LOG" | tail -1 | cut -d' ' -f2)"
32[[ -z "$LOCK" ]] && echo "$DATE $TIME LOCK" >> "$LOG"
33echo "$LOCK"
34}
35
36watch_lock()
37{
38LOCK=$(last_lock)
39DATE="$(date +'%F')"
40TIME="$(date +'%H:%M')"
41DIFF="$(timediff "$LOCK" "$TIME")"
42MINUTES="$(time2minutes "$DIFF")"
43[[ "$MINUTES" -ge 5 ]] && echo "$DATE $TIME LOCK" >> "$LOG"
44}
45
46watch_unblank()
47{
48LOCK=$(last_lock)
49DATE="$(date +'%F')"
50TIME="$(date +'%H:%M')"
51DIFF="$(timediff "$LOCK" "$TIME")"
52MINUTES="$(time2minutes "$DIFF")"
53[[ "$MINUTES" -lt 5 ]] && lock
54echo "$DATE $TIME UNBLANK" >> "$LOG"
55}
56
57watch_while()
58{
59while read -r LINE
60do
61case "$LINE" in
62UNBLANK*) watch_unblank;;
63LOCK*) watch_lock;;
64esac
65done
66}
67
68/usr/bin/xscreensaver-command -watch | watch_while
69
ChangeLog #
2021-03-07 23:02
agregarxscreensaver-watch
pomodoro