Como posso criar um atalho que funcione como registro

Como posso criar um atalho que funcione como registro

Para o meu trabalho tenho que realizar tarefas repetitivas com prazos semanais. Gosto de saber o quão perto estou de terminar essas tarefas, por isso costumo manter um registro em um pedaço de papel. Infelizmente viajo muito e nem sempre tenho caneta ou caderno. Isso é bom porque eu apenas uso o gedit como alternativa, mas às vezes esqueço de salvar o gedit quando desligo e perco o controle do meu registro.

O que eu realmente quero é uma maneira de definir um atalho para que cada vez que eu conclua uma tarefa, ela seja registrada em algum lugar e salva instantaneamente. Ele também precisa ser exibido de forma rápida e fácil de alguma forma.

Responder1

Talvez você possa usar o emacs com o modo organizacional. É muito mais poderoso do que simplesmente gerenciar suas tarefas, mas pode valer a pena aprofundar.

Responder2

A maneira mais simples de resolver que encontrei foi criar um script de traço que armazena a contagem em um arquivo de texto e exibe o valor usando notify-send.

Eu costumava sourcedefinir a localização dos valores que queria manter um registro:

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

E o arquivo de contagem tem apenas uma única linha que diz:

written=0

Então criei funções paramostrarna contagem,clarocontando eadicionarindo para a contagem.

Para mostrar a contagem, precisei começar recarregando a contagem para ter certeza de que está atualizada. Então posso usar notify-sendassim:

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

Paraadicionarpara a contagem, a função precisa ler a contagem, adicionar 1 ao valor, reescrever a contagem e então chamar a função show:

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

A função clear é bastante autoexplicativa:

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

Finalmente, para chamar as funções individuais do script, precisei finalizar o script $@para que os argumentos possam ser chamados literalmente. O roteiro completo é:

#!/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
}
$@

A partir daí, eu poderia atribuir atalhos de teclado para chamar funções individuais do script e gerenciar uma contagem bonita que é exibida na janela de notificação apenas pressionando alguns botões.

Espero que isso ajude alguém. Este é meu primeiro script de painel e estou feliz com ele, mas certamente haverá maneiras mais limpas de conseguir isso.

informação relacionada