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