На работе мне приходится выполнять повторяющиеся задачи с еженедельными сроками. Мне нравится знать, насколько я близок к завершению этих задач, поэтому я стараюсь вести подсчет на листе бумаги. К сожалению, я много путешествую и не всегда беру с собой ручку или блокнот. Это нормально, потому что я просто использую 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
}
$@
Оттуда я мог бы назначать сочетания клавиш для вызова отдельных функций из скрипта и управлять красивым подсчетом, отображаемым в окне уведомлений, всего лишь нажатием пары кнопок.
Надеюсь, это кому-то поможет. Это мой первый скрипт тире, и я им доволен, но наверняка есть и более чистые способы добиться этого.