Hábito de la lectura

Software libre

Episodios ñu nutricionales

Hábito de la lectura

Planteamiento:

José, leyó poco en su juventud, posiblemente nunca disfrutó de la lectura. En su día a día, necesita adaptarse a las necesidades de su negocio, y vio conveniente adoptar el hábito de leer libros digitales.

Resolución:

José, desea que su computadora, le mostrara automáticamente los libros digitales a cierta hora; y si fuese Sábado y Domingo, siempre que esté encendida su computadora, le mostraría los libros digitales siempre.

Transversales:

Al encontrarse José en vídeo llamadas, o haciendo tareas de mayores requerimientos de recursos. José debería poder deshabilitar la ejecución forzada de sus libros.

Característica:

José también desea que si cerrase un libro digital por accidente, este se vuelva a abrir automáticamente.

Aquí el comando que resuelve episodio de hoy:

#!/bin/bash

# Script para acostumbrar a leer a los desordenados que no tienen
# experiencia con la lectura

folder="$HOME/Documentos/manual"

time_ () {
    date "+%H" | grep -iq "$1"
}

day_ () {
    date "+%a" | grep -iq "$1"
}

week_ () {
    day_ 'lun' || \
        day_ 'mar' || \
        day_ 'mi'  || \
        day_ 'jue' || \
        day_ 'vie'
}

already_open_ () {
    wmctrl -l | grep -iq "$1"
}

execute_book_ () {
    ahoraSi="$(nohup mupdf -I $1 & > $HOME/.nohup.out)" &
}

is_or_ () {
    already_open_ "$1" || ( sleep 1s && execute_book_ "$1" )
}

validate_ () {
    if ( time_ "$1" ) ; then
        if ( week_ ) ; then
            cd $folder && for libro in *.pdf; do is_or_ $libro; done
        fi
    fi
    if day_ 'sáb' \
            || day_ 'dom'; then
        cd $folder && for libro in *.pdf; do is_or_ $libro; done
    fi
}

es_momento_ () {
    # no estás en meet ?
    ! ( wmctrl -l | grep -iq 'meet: ' || wmctrl -l | grep -iq 'meet ' || wmctrl -l | grep -iq 'optimizandole' )
}

evalua_estrategia_de_lectura_para_hoy_ () {
    es_momento_ && validate_ $1
}

# while true; do
#     sleep 1s
#     evalua_estrategia_de_lectura_para_hoy_ $1
# done
Licencia
CC BY-NC 3.0

Saravia