Как я могу создать ярлык, который действует как счет

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

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

0
задан 6 July 2015 в 16:50

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 к значению, переписать счет и затем вызвать выставочную функцию:

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

Ясная функция довольно очевидна:

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
}
$@

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

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

0
ответ дан 4 October 2019 в 01:16

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

1
ответ дан 4 October 2019 в 01:16

Другие вопросы по тегам:

Похожие вопросы: