¿Cómo puedo crear un atajo que actúe como un recuento?

¿Cómo puedo crear un atajo que actúe como un recuento?

Para mi trabajo tengo que hacer tareas repetitivas con plazos semanales. Me gusta saber qué tan cerca estoy de terminar estas tareas, por eso tiendo a llevar la cuenta en una hoja de papel. Lamentablemente viajo mucho y no siempre tengo un bolígrafo o una libreta. Esto está bien porque simplemente uso gedit como alternativa, pero a veces me olvido de guardar gedit cuando apago y pierdo la cuenta.

Sin embargo, lo que realmente quiero es una forma de configurar un acceso directo para que cada vez que complete una tarea se registre en algún lugar y se guarde al instante. También debe mostrarse rápida y fácilmente de alguna manera.

Respuesta1

Quizás puedas usar emacs con el modo org. Es mucho más poderoso que simplemente administrar sus tareas, pero podría valer la pena profundizar en él.

Respuesta2

La forma más sencilla de resolverlo que encontré fue crear un script de guión que almacene el recuento en un archivo de texto y muestre el valor usando notify-send.

Solía source​​establecer la ubicación de los valores de los que quería llevar un recuento:

#!/bin/sh
. /home/jesse/.scripts/tally

Y el archivo de conteo solo tiene una línea que dice:

written=0

Luego creé funciones paraespectáculohaciendo la cuenta,clarohaciendo la cuenta yagregaring a la cuenta.

Para mostrar el recuento, necesitaba comenzar recargando el recuento para asegurarme de que esté actualizado. Entonces puedo usar notify-sendasí:

show() {
  . /home/jesse/.scripts/tally
  notify-send -i "/home/jesse/.scripts/icon.png" \
  "Total for this week:" "Written: $written"
}

Aagregaral recuento, la función necesita leer del recuento, agregar 1 al valor, reescribir el recuento y luego llamar a la función show:

add() {
  num=$(($written + 1))
  printf "written=$num" > /home/jesse/.scripts/tally
  show
}

La función clara se explica por sí misma:

clear() {
  printf "written=0" > /home/jesse/.scripts/tally
  show
}

Finalmente, para poder llamar a las funciones individuales desde el script, necesitaba terminar el script $@para que los argumentos pudieran llamarse palabra por palabra. El guión completo es:

#!/bin/sh
. /home/jesse/.scripts/tally
show() {
  . /home/jesse/.scripts/tally
  notify-send -i "/home/jesse/.scripts/icon.png" \
  "Total for this week:" "Written: $written"
}
add() {
  num=$(($written + 1))
  printf "written=$num" > /home/jesse/.scripts/tally
  show
}
clear() {
  printf "written=0" > /home/jesse/.scripts/tally
  show
}
$@

Desde allí, podría asignar atajos de teclado para llamar a funciones individuales desde el script y administrar un buen recuento que se muestra en la ventana de notificación con solo presionar un par de botones.

Espero que esto ayude a alguien. Este es mi primer script de guión y estoy contento con él, pero seguramente habrá formas más limpias de lograrlo.

información relacionada