Как создать ярлык, который будет работать как счетчик?

Как создать ярлык, который будет работать как счетчик?

На работе мне приходится выполнять повторяющиеся задачи с еженедельными сроками. Мне нравится знать, насколько я близок к завершению этих задач, поэтому я стараюсь вести подсчет на листе бумаги. К сожалению, я много путешествую и не всегда беру с собой ручку или блокнот. Это нормально, потому что я просто использую gedit в качестве альтернативы, но иногда я забываю сохранить gedit, когда выключаю его, и теряю счет.

Но что мне действительно нужно, так это способ установки ярлыка, чтобы каждый раз, когда я завершаю задачу, она где-то регистрировалась и мгновенно сохранялась. Также ее нужно как-то быстро и легко отображать.

решение1

Может быть, вы можете использовать emacs с org-mode. Это гораздо мощнее, чем просто управлять задачами, но, возможно, стоит в этом разобраться.

решение2

Самый простой способ решения, который я нашел, — это создание скрипта тире, который сохраняет результаты в текстовом файле и отображает значение с помощью notify-send.

Раньше я sourceзадавал местоположение для значений, по которым мне нужно было вести подсчет:

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

А в файле подсчета всего одна строка:

written=0

Затем я создал функции дляпоказыватьподсчёт,прозрачныйподсчет идобавлятьподведем итоги.

Чтобы показать подсчет, мне нужно было начать с перезагрузки подсчета, чтобы убедиться, что он актуален. Затем я могу использовать notify-sendвот так:

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

Кдобавлятьдля подсчета функция должна считать из подсчета, добавить 1 к значению, перезаписать подсчет и затем вызвать функцию show:

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

Функция clear вполне понятна:

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

Наконец, для вызова отдельных функций из скрипта мне нужно было закончить скрипт так, $@чтобы аргументы можно было вызывать дословно. Полный скрипт такой:

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

Оттуда я мог бы назначать сочетания клавиш для вызова отдельных функций из скрипта и управлять красивым подсчетом, отображаемым в окне уведомлений, всего лишь нажатием пары кнопок.

Надеюсь, это кому-то поможет. Это мой первый скрипт тире, и я им доволен, но наверняка есть и более чистые способы добиться этого.

Связанный контент